X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=libringbuffer%2Fshm.c;h=86e8d9184e3c8a3fb066df69e2808028d790fe74;hb=7a9c21bd702ae4d54d8c1f623e9837e0248b0643;hp=6a77af6462a61d93a3c5c1bfb8fff214f546de62;hpb=818173b9424ba2dd317e05e913ec5891b26e83d3;p=lttng-ust.git diff --git a/libringbuffer/shm.c b/libringbuffer/shm.c index 6a77af64..86e8d918 100644 --- a/libringbuffer/shm.c +++ b/libringbuffer/shm.c @@ -34,7 +34,7 @@ struct shm_object *shm_object_table_append(struct shm_object_table *table, if (table->allocated_len >= table->size) return NULL; - obj = &table->objects[table->allocated_len++]; + obj = &table->objects[table->allocated_len]; /* wait_fd: create pipe */ ret = pipe(waitfd); @@ -55,7 +55,7 @@ struct shm_object *shm_object_table_append(struct shm_object_table *table, PERROR("fcntl"); goto error_fcntl; } - *obj->wait_fd = *waitfd; + memcpy(obj->wait_fd, waitfd, sizeof(waitfd)); /* shm_fd: create shm */ @@ -98,6 +98,8 @@ struct shm_object *shm_object_table_append(struct shm_object_table *table, obj->memory_map = memory_map; obj->memory_map_size = memory_map_size; obj->allocated_len = 0; + + table->allocated_len++; return obj; error_mmap: