X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-consumerd%2Fhealth-consumerd.cpp;fp=src%2Fbin%2Flttng-consumerd%2Fhealth-consumerd.cpp;h=f8be972c595986fae6c4aca3b3363a59dc39dcf3;hp=8417fc6dccfca4122561edeadb4b2d623dc9f029;hb=8a00688e1d58cc5a2e77eba206ff23bd6105130c;hpb=6b979fc6dd8c03ed8332bdef2915b9d6d3ecfd6a diff --git a/src/bin/lttng-consumerd/health-consumerd.cpp b/src/bin/lttng-consumerd/health-consumerd.cpp index 8417fc6dc..f8be972c5 100644 --- a/src/bin/lttng-consumerd/health-consumerd.cpp +++ b/src/bin/lttng-consumerd/health-consumerd.cpp @@ -43,22 +43,7 @@ /* Global health check unix path */ static char health_unix_sock_path[PATH_MAX]; -int health_quit_pipe[2]; - -/* - * Check if the thread quit pipe was triggered. - * - * Return 1 if it was triggered else 0; - */ -static -int check_health_quit_pipe(int fd, uint32_t events) -{ - if (fd == health_quit_pipe[0] && (events & LPOLLIN)) { - return 1; - } - - return 0; -} +int health_quit_pipe[2] = {-1, -1}; /* * Send data on a unix socket using the liblttsessiondcomm API. @@ -146,8 +131,8 @@ end: */ void *thread_manage_health_consumerd(void *data __attribute__((unused))) { - int sock = -1, new_sock = -1, ret, i, pollfd, err = -1; - uint32_t revents, nb_fd; + int sock = -1, new_sock = -1, ret, i, err = -1; + uint32_t nb_fd; struct lttng_poll_event events; struct health_comm_msg msg; struct health_comm_reply reply; @@ -252,12 +237,12 @@ restart: for (i = 0; i < nb_fd; i++) { /* Fetch once the poll data */ - revents = LTTNG_POLL_GETEV(&events, i); - pollfd = LTTNG_POLL_GETFD(&events, i); + const auto revents = LTTNG_POLL_GETEV(&events, i); + const auto pollfd = LTTNG_POLL_GETFD(&events, i); - /* Thread quit pipe has been closed. Killing thread. */ - ret = check_health_quit_pipe(pollfd, revents); - if (ret) { + /* Activity on health quit pipe, exiting. */ + if (pollfd == health_quit_pipe[0]) { + DBG("Activity on health quit pipe"); err = 0; goto exit; }