X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fht-cleanup.c;h=57d6aec118bc6f5ac1df1df3057d63077b82b315;hb=3628d5bd420ccb6e7937506a2dbadb95bd3d2d0b;hp=a201506c0eb1da3ad94ac110c351ad3fc0d064e7;hpb=9ad42ec1800b074488873ec43d91c73ce9c9dfcf;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ht-cleanup.c b/src/bin/lttng-sessiond/ht-cleanup.c index a201506c0..57d6aec11 100644 --- a/src/bin/lttng-sessiond/ht-cleanup.c +++ b/src/bin/lttng-sessiond/ht-cleanup.c @@ -60,13 +60,14 @@ void *thread_ht_cleanup(void *data) health_code_update(); while (1) { - DBG3("[ht-thread] Polling on %d fds.", - LTTNG_POLL_GETNB(&events)); + DBG3("[ht-thread] Polling."); /* Inifinite blocking call, waiting for transmission */ restart: health_poll_entry(); ret = lttng_poll_wait(&events, -1); + DBG3("[ht-thread] Returning from poll on %d fds.", + LTTNG_POLL_GETNB(&events)); health_poll_exit(); if (ret < 0) { /* @@ -89,6 +90,14 @@ restart: revents = LTTNG_POLL_GETEV(&events, i); pollfd = LTTNG_POLL_GETFD(&events, i); + if (!revents) { + /* + * No activity for this FD + * (poll implementation). + */ + continue; + } + /* Thread quit pipe has been closed. Killing thread. */ ret = sessiond_check_thread_quit_pipe(pollfd, revents); if (ret) {