Fix: agent may not be ready on launch
[lttng-tools.git] / src / bin / lttng-sessiond / main.c
index a4f9763ebf6c33b90bbe2cc0059490f0715eb418..0620c7e70f83b3d33ae9cf5ea64dd15316784657 100644 (file)
@@ -304,7 +304,7 @@ struct lttng_ht *agent_apps_ht_by_sock = NULL;
  * NR_LTTNG_SESSIOND_READY must match the number of calls to
  * sessiond_notify_ready().
  */
-#define NR_LTTNG_SESSIOND_READY                5
+#define NR_LTTNG_SESSIOND_READY                6
 int lttng_sessiond_ready = NR_LTTNG_SESSIOND_READY;
 
 int sessiond_check_thread_quit_pipe(int fd, uint32_t events)
@@ -5717,9 +5717,9 @@ int main(int argc, char **argv)
        struct lttng_pipe *ust32_channel_monitor_pipe = NULL,
                        *ust64_channel_monitor_pipe = NULL,
                        *kernel_channel_monitor_pipe = NULL;
-       bool notification_thread_running = false;
-       bool rotation_thread_running = false;
-       bool timer_thread_running = false;
+       bool notification_thread_launched = false;
+       bool rotation_thread_launched = false;
+       bool timer_thread_launched = false;
        struct lttng_pipe *ust32_channel_rotate_pipe = NULL,
                        *ust64_channel_rotate_pipe = NULL,
                        *kernel_channel_rotate_pipe = NULL;
@@ -6154,7 +6154,7 @@ int main(int argc, char **argv)
                stop_threads();
                goto exit_notification;
        }
-       notification_thread_running = true;
+       notification_thread_launched = true;
 
        /* Create timer thread. */
        ret = pthread_create(&timer_thread, default_pthread_attr(),
@@ -6166,7 +6166,7 @@ int main(int argc, char **argv)
                stop_threads();
                goto exit_notification;
        }
-       timer_thread_running = true;
+       timer_thread_launched = true;
 
        /* rotation_thread_data acquires the pipes' read side. */
        rotation_thread_handle = rotation_thread_handle_create(
@@ -6194,7 +6194,7 @@ int main(int argc, char **argv)
                stop_threads();
                goto exit_rotation;
        }
-       rotation_thread_running = true;
+       rotation_thread_launched = true;
 
        /* Create thread to manage the client socket */
        ret = pthread_create(&client_thread, default_pthread_attr(),
@@ -6400,7 +6400,7 @@ exit_init_data:
         * of the active session and channels at the moment of the teardown.
         */
        if (notification_thread_handle) {
-               if (notification_thread_running) {
+               if (notification_thread_launched) {
                        notification_thread_command_quit(
                                        notification_thread_handle);
                        ret = pthread_join(notification_thread, &status);
@@ -6414,7 +6414,7 @@ exit_init_data:
        }
 
        if (rotation_thread_handle) {
-               if (rotation_thread_running) {
+               if (rotation_thread_launched) {
                        ret = pthread_join(rotation_thread, &status);
                        if (ret) {
                                errno = ret;
@@ -6425,7 +6425,7 @@ exit_init_data:
                rotation_thread_handle_destroy(rotation_thread_handle);
        }
 
-       if (timer_thread_running) {
+       if (timer_thread_launched) {
                kill(getpid(), LTTNG_SESSIOND_SIG_EXIT);
                ret = pthread_join(timer_thread, &status);
                if (ret) {
This page took 0.025279 seconds and 4 git commands to generate.