Fix: reset vtid cache before releasing urcu locks
[lttng-ust.git] / liblttng-ust / lttng-ust-comm.c
index 1c022ef139f142d9ecc1a91bb625ffbcf9ca98e9..7842af795da31e4f59eb800c9c5a58e94517ba85 100644 (file)
@@ -1620,6 +1620,7 @@ void lttng_ust_cleanup(int exiting)
 {
        cleanup_sock_info(&global_apps, exiting);
        cleanup_sock_info(&local_apps, exiting);
+       local_apps.allowed = 0;
        /*
         * The teardown in this function all affect data structures
         * accessed under the UST lock by the listener thread. This
@@ -1770,11 +1771,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();
This page took 0.023902 seconds and 4 git commands to generate.