relayd: track the quit pipe with the fd-tracker
[lttng-tools.git] / src / bin / lttng-relayd / main.c
index f1f03d1bd36c90c7feefb9f417d5748f8cd10c4f..6234e3e170d92515d1255a15087906531369083a 100644 (file)
@@ -64,6 +64,7 @@
 #include <common/buffer-view.h>
 #include <common/string-utils/format.h>
 #include <common/fd-tracker/fd-tracker.h>
+#include <common/fd-tracker/utils.h>
 
 #include "backward-compatibility-group-by.h"
 #include "cmd.h"
@@ -664,8 +665,10 @@ static void relayd_cleanup(void)
        }
        /* Close thread quit pipes */
        utils_close_pipe(health_quit_pipe);
-       utils_close_pipe(thread_quit_pipe);
-
+       if (thread_quit_pipe[0] != -1) {
+               (void) fd_tracker_util_pipe_close(
+                               the_fd_tracker, thread_quit_pipe);
+       }
        if (sessiond_trace_chunk_registry) {
                sessiond_trace_chunk_registry_destroy(
                                sessiond_trace_chunk_registry);
@@ -835,11 +838,8 @@ void lttng_relay_notify_ready(void)
  */
 static int init_thread_quit_pipe(void)
 {
-       int ret;
-
-       ret = utils_create_pipe_cloexec(thread_quit_pipe);
-
-       return ret;
+       return fd_tracker_util_pipe_open_cloexec(
+                       the_fd_tracker, "Quit pipe", thread_quit_pipe);
 }
 
 /*
@@ -4042,23 +4042,12 @@ int main(int argc, char **argv)
 
        /* Daemonize */
        if (opt_daemon || opt_background) {
-               int i;
-
                ret = lttng_daemonize(&child_ppid, &recv_child_signal,
                        !opt_background);
                if (ret < 0) {
                        retval = -1;
                        goto exit_options;
                }
-
-               /*
-                * We are in the child. Make sure all other file
-                * descriptors are closed, in case we are called with
-                * more opened file descriptors than the standard ones.
-                */
-               for (i = 3; i < sysconf(_SC_OPEN_MAX); i++) {
-                       (void) close(i);
-               }
        }
 
        if (opt_working_directory) {
This page took 0.02383 seconds and 4 git commands to generate.