projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: fixup ringbuffer tls at constructor by forcing read
[lttng-ust.git]
/
libringbuffer
/
shm.c
diff --git
a/libringbuffer/shm.c
b/libringbuffer/shm.c
index 781295beb718c69057fb9ba54e89916fba5ad00c..c10e58a23cc281fb06128c93d16697efc2d0b019 100644
(file)
--- a/
libringbuffer/shm.c
+++ b/
libringbuffer/shm.c
@@
-17,6
+17,8
@@
#include <signal.h>
#include <dirent.h>
#include <lttng/align.h>
#include <signal.h>
#include <dirent.h>
#include <lttng/align.h>
+#include <helper.h>
+#include <limits.h>
struct shm_object_table *shm_object_table_create(size_t max_nb_obj)
{
struct shm_object_table *shm_object_table_create(size_t max_nb_obj)
{
@@
-34,7
+36,7
@@
struct shm_object *shm_object_table_append(struct shm_object_table *table,
int shmfd, waitfd[2], ret, i, sigblocked = 0;
struct shm_object *obj;
char *memory_map;
int shmfd, waitfd[2], ret, i, sigblocked = 0;
struct shm_object *obj;
char *memory_map;
- char tmp_name[NAME_MAX] = "ust-shm-tmp-XXXXXX";
+ char tmp_name[NAME_MAX] = "
/
ust-shm-tmp-XXXXXX";
sigset_t all_sigs, orig_sigs;
if (table->allocated_len >= table->size)
sigset_t all_sigs, orig_sigs;
if (table->allocated_len >= table->size)
@@
-210,10
+212,12
@@
void shmp_object_destroy(struct shm_object *obj)
assert(0);
}
}
assert(0);
}
}
- ret = close(obj->shm_fd);
- if (ret) {
- PERROR("close");
- assert(0);
+ if (obj->shm_fd >= 0) {
+ ret = close(obj->shm_fd);
+ if (ret) {
+ PERROR("close");
+ assert(0);
+ }
}
for (i = 0; i < 2; i++) {
if (obj->wait_fd[i] < 0)
}
for (i = 0; i < 2; i++) {
if (obj->wait_fd[i] < 0)
This page took
0.023599 seconds
and
4
git commands to generate.