Fix: add missing rcu_barrier before daemon teardown
[lttng-tools.git] / src / bin / lttng-consumerd / lttng-consumerd.c
index 1373a74b28212d5595d8c4f0dc18a89938e6a616..7f78c4ec2b0971fcfa249a3c35f7c953bd5a8d39 100644 (file)
@@ -622,6 +622,12 @@ exit_init_data:
        tmp_ctx = ctx;
        ctx = NULL;
        cmm_barrier();  /* Clear ctx for signal handler. */
+       /*
+        * Wait for all pending call_rcu work to complete before tearing
+        * down data structures. call_rcu worker may be trying to
+        * perform lookups in those structures.
+        */
+       rcu_barrier();
        lttng_consumer_destroy(tmp_ctx);
        lttng_consumer_cleanup();
 
This page took 0.023059 seconds and 4 git commands to generate.