From: Jérémie Galarneau Date: Wed, 27 Nov 2019 05:28:51 +0000 (-0500) Subject: relayd: track the live listener thread's epoll fd X-Git-Tag: v2.12.0-rc1~56 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=23f940ff5d6e5440b9c8bd2ede61e1761e4b51fe;p=lttng-tools.git relayd: track the live listener thread's epoll fd Create the live listener threads' epoll fd through the fd_tracker_util_poll_create() util. This causes the resulting fd (in epoll mode) to be tracked by the fd tracker. Signed-off-by: Jérémie Galarneau Change-Id: If93fe5b1cc85d5d3950941edd47910697727ced9 --- diff --git a/src/bin/lttng-relayd/live.c b/src/bin/lttng-relayd/live.c index fbc703031..419a8ebe4 100644 --- a/src/bin/lttng-relayd/live.c +++ b/src/bin/lttng-relayd/live.c @@ -436,7 +436,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; @@ -445,10 +446,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); @@ -462,6 +461,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. * @@ -542,7 +550,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; } @@ -651,7 +660,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);