Fix: poll: show the correct number of fds
[lttng-tools.git] / src / bin / lttng-sessiond / ht-cleanup.c
index a201506c0eb1da3ad94ac110c351ad3fc0d064e7..57d6aec118bc6f5ac1df1df3057d63077b82b315 100644 (file)
@@ -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) {
This page took 0.023846 seconds and 4 git commands to generate.