X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmain.c;h=56d932da9f7a961a2274d63d7ee32b6f8ce877ed;hb=8a7e45909a46d4aab3c3debde8f5ce2006c7d306;hp=f1c2cd37cfedf22281f100fc80537259bd3fc32b;hpb=7649924e1b3a80687c2fb79f8778e08bedb671ce;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index f1c2cd37c..56d932da9 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -142,11 +142,10 @@ static const char *config_ignore_options[] = { "help", "version", "config" }; * that a command is queued and ready to be processed. */ static int apps_cmd_pipe[2] = { -1, -1 }; +static int apps_cmd_notify_pipe[2] = { -1, -1 }; /* Pthread, Mutexes and Semaphores */ -static pthread_t apps_notify_thread; static pthread_t kernel_thread; -static pthread_t agent_reg_thread; static pthread_t load_session_thread; /* @@ -293,14 +292,14 @@ static void sessiond_cleanup(void) * since we are now called. */ sessiond_close_quit_pipe(); + utils_close_pipe(apps_cmd_pipe); + utils_close_pipe(apps_cmd_notify_pipe); ret = remove(config.pid_file_path.value); if (ret < 0) { PERROR("remove pidfile %s", config.pid_file_path.value); } - utils_close_pipe(apps_cmd_pipe); - DBG("Removing sessiond and consumerd content of directory %s", config.rundir.value); @@ -2442,24 +2441,14 @@ int main(int argc, char **argv) } /* Create thread to manage application notify socket */ - ret = pthread_create(&apps_notify_thread, default_pthread_attr(), - ust_thread_manage_notify, (void *) NULL); - if (ret) { - errno = ret; - PERROR("pthread_create notify"); + if (!launch_application_notification_thread(apps_cmd_notify_pipe[0])) { retval = -1; - stop_threads(); goto exit_apps_notify; } - /* Create agent registration thread. */ - ret = pthread_create(&agent_reg_thread, default_pthread_attr(), - agent_thread_manage_registration, (void *) NULL); - if (ret) { - errno = ret; - PERROR("pthread_create agent"); + /* Create agent management thread. */ + if (!launch_agent_management_thread()) { retval = -1; - stop_threads(); goto exit_agent_reg; } @@ -2525,21 +2514,7 @@ exit_load_session: } } exit_kernel: - - ret = pthread_join(agent_reg_thread, &status); - if (ret) { - errno = ret; - PERROR("pthread_join agent"); - retval = -1; - } exit_agent_reg: - - ret = pthread_join(apps_notify_thread, &status); - if (ret) { - errno = ret; - PERROR("pthread_join apps notify"); - retval = -1; - } exit_apps_notify: exit_apps: exit_reg_apps: