From: Jérémie Galarneau Date: Thu, 28 Jun 2018 02:36:05 +0000 (-0400) Subject: Backport: relayd: track the live listener thread's epoll fd X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=commitdiff_plain;h=677dae5ca6286d2404b8de0b75ffe22ae0ef50d9 Backport: relayd: track the live listener thread's epoll fd Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-relayd/live.c b/src/bin/lttng-relayd/live.c index 207b40668..e7663bfc1 100644 --- a/src/bin/lttng-relayd/live.c +++ b/src/bin/lttng-relayd/live.c @@ -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. * @@ -498,7 +506,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; } @@ -612,7 +621,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);