Fix: close consumer sockets before waiting for them
[lttng-tools.git] / src / bin / lttng-sessiond / main.c
index ac7f7c910317d45158ac75991fa55cea17af7610..a29417af59e7aeb7a90513cc5346f21db82f6346 100644 (file)
@@ -327,17 +327,18 @@ static void sessiond_cleanup(void)
 
        pthread_mutex_destroy(&session_list->lock);
 
-       wait_consumer(&kconsumer_data);
-       wait_consumer(&ustconsumer64_data);
-       wait_consumer(&ustconsumer32_data);
-
        DBG("Cleaning up all agent apps");
        agent_app_ht_clean();
-
        DBG("Closing all UST sockets");
        ust_app_clean_list();
        buffer_reg_destroy_registries();
 
+       close_consumer_sockets();
+
+       wait_consumer(&kconsumer_data);
+       wait_consumer(&ustconsumer64_data);
+       wait_consumer(&ustconsumer32_data);
+
        if (is_root && !config.no_kernel) {
                DBG2("Closing kernel fd");
                if (kernel_tracer_fd >= 0) {
@@ -351,8 +352,6 @@ static void sessiond_cleanup(void)
                free(syscall_table);
        }
 
-       close_consumer_sockets();
-
        /*
         * We do NOT rmdir rundir because there are other processes
         * using it, for instance lttng-relayd, which can start in
This page took 0.023646 seconds and 4 git commands to generate.