X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=libust%2Flttng-ust-comm.c;h=7971168c638b2d14fdf0864ec3bb6a0b35ec840e;hb=35ec2526b0bd16c7ee9884fda90b8e761e75425d;hp=2e7e1a3515abd1f6b46024364ddb1747057e8a4f;hpb=193183fb924aef705f30358e54e7386a3a64c78d;p=lttng-ust.git diff --git a/libust/lttng-ust-comm.c b/libust/lttng-ust-comm.c index 2e7e1a35..7971168c 100644 --- a/libust/lttng-ust-comm.c +++ b/libust/lttng-ust-comm.c @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -294,6 +295,7 @@ end: shm_fd = lum->u.stream.shm_fd; wait_fd = lum->u.stream.wait_fd; break; + case LTTNG_UST_METADATA: case LTTNG_UST_CHANNEL: lur.u.channel.memory_map_size = lum->u.channel.memory_map_size; shm_fd = lum->u.channel.shm_fd; @@ -306,7 +308,9 @@ end: goto error; } - if ((lum->cmd == LTTNG_UST_STREAM || lum->cmd == LTTNG_UST_CHANNEL) + if ((lum->cmd == LTTNG_UST_STREAM + || lum->cmd == LTTNG_UST_CHANNEL + || lum->cmd == LTTNG_UST_METADATA) && lur.ret_code == LTTCOMM_OK) { /* we also need to send the file descriptors. */ ret = lttcomm_send_fds_unix_sock(sock, @@ -638,7 +642,7 @@ restart: */ if (sock_info->root_handle == -1) { ret = lttng_abi_create_root_handle(); - if (ret) { + if (ret < 0) { ERR("Error creating root handle"); ust_unlock(); goto quit; @@ -921,6 +925,7 @@ void ust_after_fork_child(ust_fork_info_t *fork_info) /* Release urcu mutexes */ rcu_bp_after_fork_child(); lttng_ust_cleanup(0); + lttng_context_vtid_reset(); /* Release mutexes and reenable signals */ ust_after_fork_common(fork_info); lttng_ust_init();