X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=liblttng-consumer%2Flttng-consumer.c;fp=liblttng-consumer%2Flttng-consumer.c;h=5a4cf08c59109a7a5f21d8cc8070eb699debd3e0;hp=617282d9c38b3690f5969f883690c7922c478b2b;hb=e7b994a365c48d2dbe576b64811ec861da7c6375;hpb=7bd3904781fa78155c13952f5d5cb9ab42f44a08 diff --git a/liblttng-consumer/lttng-consumer.c b/liblttng-consumer/lttng-consumer.c index 617282d9c..5a4cf08c5 100644 --- a/liblttng-consumer/lttng-consumer.c +++ b/liblttng-consumer/lttng-consumer.c @@ -845,6 +845,8 @@ void *lttng_consumer_thread_poll_fds(void *data) int tmp2; struct lttng_consumer_local_data *ctx = data; + rcu_register_thread(); + local_stream = zmalloc(sizeof(struct lttng_consumer_stream)); while (1) { @@ -1005,6 +1007,7 @@ end: free(local_stream); local_stream = NULL; } + rcu_unregister_thread(); return NULL; } @@ -1022,6 +1025,8 @@ void *lttng_consumer_thread_receive_fds(void *data) struct pollfd consumer_sockpoll[2]; struct lttng_consumer_local_data *ctx = data; + rcu_register_thread(); + DBG("Creating command socket %s", ctx->consumer_command_sock_path); unlink(ctx->consumer_command_sock_path); client_socket = lttcomm_create_unix_sock(ctx->consumer_command_sock_path); @@ -1117,6 +1122,7 @@ end: if (ret < 0) { perror("poll pipe write"); } + rcu_unregister_thread(); return NULL; }