relayd: track the live listener thread's epoll fd
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 28 Jun 2018 02:36:05 +0000 (22:36 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 3 Jul 2018 14:40:58 +0000 (10:40 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-relayd/live.c

index ec02017fe914cd96dbf0361e42428d04d81dfe07..0ea208a980ea9b6efc5bda3d5dec326b402f043d 100644 (file)
@@ -393,7 +393,8 @@ int relayd_live_stop(void)
  * Create a poll set with O_CLOEXEC and add the thread quit pipe to the set.
  */
 static
-int create_thread_poll_set(struct lttng_poll_event *events, int size)
+int create_named_thread_poll_set(struct lttng_poll_event *events,
+               int size, const char *name)
 {
        int ret;
 
@@ -402,10 +403,8 @@ int create_thread_poll_set(struct lttng_poll_event *events, int size)
                goto error;
        }
 
-       ret = lttng_poll_create(events, size, LTTNG_CLOEXEC);
-       if (ret < 0) {
-               goto error;
-       }
+       ret = fd_tracker_util_poll_create(the_fd_tracker,
+                       name, events, 1, LTTNG_CLOEXEC);
 
        /* Add quit pipe */
        ret = lttng_poll_add(events, thread_quit_pipe[0], LPOLLIN | LPOLLERR);
@@ -419,6 +418,15 @@ error:
        return ret;
 }
 
+/*
+ * Create a poll set with O_CLOEXEC and add the thread quit pipe to the set.
+ */
+static
+int create_thread_poll_set(struct lttng_poll_event *events, int size)
+{
+       return create_named_thread_poll_set(events, size, "Unknown epoll");
+}
+
 /*
  * Check if the thread quit pipe was triggered.
  *
@@ -499,7 +507,8 @@ void *thread_listener(void *data)
        }
 
        /* Pass 2 as size here for the thread quit pipe and control sockets. */
-       ret = create_thread_poll_set(&events, 2);
+       ret = create_named_thread_poll_set(&events, 2,
+                       "Live listener thread epoll");
        if (ret < 0) {
                goto error_create_poll;
        }
@@ -613,7 +622,7 @@ exit:
 error:
 error_poll_add:
 error_testpoint:
-       lttng_poll_clean(&events);
+       (void) fd_tracker_util_poll_clean(the_fd_tracker, &events);
 error_create_poll:
        if (live_control_sock->fd >= 0) {
                ret = live_control_sock->ops->close(live_control_sock);
This page took 0.028601 seconds and 5 git commands to generate.