Fix: use global thread quit pipe in live
[lttng-tools.git] / src / bin / lttng-relayd / live.c
index cbf32790c88f90d3f7641e05ef1467dd9c76749e..d09c2f13ea39af1f0971dcf5aed37273c6503e55 100644 (file)
@@ -96,8 +96,6 @@ void cleanup(void)
 {
        DBG("Cleaning up");
 
-       /* Close thread quit pipes */
-       utils_close_pipe(live_thread_quit_pipe);
        free(live_uri);
 }
 
@@ -139,21 +137,6 @@ void stop_threads(void)
        futex_nto1_wake(&viewer_cmd_queue.futex);
 }
 
-/*
- * Init thread quit pipe.
- *
- * Return -1 on error or 0 if all pipes are created.
- */
-static
-int init_thread_quit_pipe(void)
-{
-       int ret;
-
-       ret = utils_create_pipe_cloexec(live_thread_quit_pipe);
-
-       return ret;
-}
-
 /*
  * Create a poll set with O_CLOEXEC and add the thread quit pipe to the set.
  */
@@ -1719,7 +1702,7 @@ error:
  * main
  */
 int live_start_threads(struct lttng_uri *uri,
-               struct relay_local_data *relay_ctx)
+               struct relay_local_data *relay_ctx, int quit_pipe[2])
 {
        int ret = 0;
        void *status;
@@ -1728,10 +1711,8 @@ int live_start_threads(struct lttng_uri *uri,
        assert(uri);
        live_uri = uri;
 
-       /* Create thread quit pipe */
-       if ((ret = init_thread_quit_pipe()) < 0) {
-               goto error;
-       }
+       live_thread_quit_pipe[0] = quit_pipe[0];
+       live_thread_quit_pipe[1] = quit_pipe[1];
 
        /* Check if daemon is UID = 0 */
        is_root = !getuid();
This page took 0.027 seconds and 5 git commands to generate.