From: Mathieu Desnoyers Date: Thu, 14 Jul 2016 21:47:08 +0000 (-0400) Subject: Fix: reset vtid cache before releasing urcu locks X-Git-Tag: v2.8.2~12 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=cadf81991b140ca1c04977589927bfdee86cfbe1;p=lttng-ust.git Fix: reset vtid cache before releasing urcu locks When tracing pthread mutex lock/unlock, we need to reset the vtid context cache before unlocking the urcu lock, else we have vtid/vpid discrepancies. Signed-off-by: Mathieu Desnoyers --- diff --git a/liblttng-ust/lttng-ust-comm.c b/liblttng-ust/lttng-ust-comm.c index 862e513f..6c6eeda5 100644 --- a/liblttng-ust/lttng-ust-comm.c +++ b/liblttng-ust/lttng-ust-comm.c @@ -1846,11 +1846,11 @@ void ust_after_fork_child(sigset_t *restore_sigset) { if (URCU_TLS(lttng_ust_nest_count)) return; + lttng_context_vtid_reset(); DBG("process %d", getpid()); /* 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(restore_sigset); lttng_ust_init();