X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=liblttng-ust%2Flttng-ust-comm.c;h=17c7350de06a8078c6ddc543e8c1468b44430593;hb=a3bb4b278286aaa20867ba68bd5b5a5853974126;hp=71bf716a3ab263e6ee34b5443f64e7ece712be41;hpb=b115631f8ae20c4261491c20a88af496f6341e60;p=lttng-ust.git diff --git a/liblttng-ust/lttng-ust-comm.c b/liblttng-ust/lttng-ust-comm.c index 71bf716a..17c7350d 100644 --- a/liblttng-ust/lttng-ust-comm.c +++ b/liblttng-ust/lttng-ust-comm.c @@ -38,12 +38,11 @@ #include #include -#include +#include #include #include #include -#include -#include +#include "tracepoint-internal.h" #include #include "ltt-tracer-core.h" @@ -301,7 +300,7 @@ end: shm_fd = lum->u.channel.shm_fd; wait_fd = lum->u.channel.wait_fd; break; - case LTTNG_UST_VERSION: + case LTTNG_UST_TRACER_VERSION: lur.u.version = lum->u.version; break; case LTTNG_UST_TRACEPOINT_LIST_GET: @@ -876,7 +875,7 @@ void __attribute__((destructor)) lttng_ust_exit(void) * in the middle of an tracepoint or ust tracing state modification. * Holding this mutex protects these structures across fork and clone. */ -void ust_before_fork(ust_fork_info_t *fork_info) +void ust_before_fork(sigset_t *save_sigset) { /* * Disable signals. This is to avoid that the child intervenes @@ -889,7 +888,7 @@ void ust_before_fork(ust_fork_info_t *fork_info) /* Disable signals */ sigfillset(&all_sigs); - ret = sigprocmask(SIG_BLOCK, &all_sigs, &fork_info->orig_sigs); + ret = sigprocmask(SIG_BLOCK, &all_sigs, save_sigset); if (ret == -1) { PERROR("sigprocmask"); } @@ -897,25 +896,25 @@ void ust_before_fork(ust_fork_info_t *fork_info) rcu_bp_before_fork(); } -static void ust_after_fork_common(ust_fork_info_t *fork_info) +static void ust_after_fork_common(sigset_t *restore_sigset) { int ret; DBG("process %d", getpid()); ust_unlock(); /* Restore signals */ - ret = sigprocmask(SIG_SETMASK, &fork_info->orig_sigs, NULL); + ret = sigprocmask(SIG_SETMASK, restore_sigset, NULL); if (ret == -1) { PERROR("sigprocmask"); } } -void ust_after_fork_parent(ust_fork_info_t *fork_info) +void ust_after_fork_parent(sigset_t *restore_sigset) { DBG("process %d", getpid()); rcu_bp_after_fork_parent(); /* Release mutexes and reenable signals */ - ust_after_fork_common(fork_info); + ust_after_fork_common(restore_sigset); } /* @@ -927,7 +926,7 @@ void ust_after_fork_parent(ust_fork_info_t *fork_info) * This is meant for forks() that have tracing in the child between the * fork and following exec call (if there is any). */ -void ust_after_fork_child(ust_fork_info_t *fork_info) +void ust_after_fork_child(sigset_t *restore_sigset) { DBG("process %d", getpid()); /* Release urcu mutexes */ @@ -935,6 +934,6 @@ void ust_after_fork_child(ust_fork_info_t *fork_info) lttng_ust_cleanup(0); lttng_context_vtid_reset(); /* Release mutexes and reenable signals */ - ust_after_fork_common(fork_info); + ust_after_fork_common(restore_sigset); lttng_ust_init(); }