Fix: call lttng_poll_set_max_size before start threads
[lttng-tools.git] / src / bin / lttng-sessiond / ht-cleanup.c
index 79fb9cd630831865b08b5e2989b0bf71fe7226f5..373c913dccae1bbb484fefc8e518b9c3821ef255 100644 (file)
@@ -42,6 +42,7 @@ void *thread_ht_cleanup(void *data)
        health_register(health_sessiond, HEALTH_SESSIOND_TYPE_HT_CLEANUP);
 
        if (testpoint(sessiond_thread_ht_cleanup)) {
+               DBG("[ht-thread] testpoint.");
                goto error_testpoint;
        }
 
@@ -49,12 +50,14 @@ void *thread_ht_cleanup(void *data)
 
        ret = sessiond_set_ht_cleanup_thread_pollset(&events, 2);
        if (ret < 0) {
+               DBG("[ht-thread] sessiond_set_ht_cleanup_thread_pollset error %d.", ret);
                goto error_poll_create;
        }
 
        /* Add pipe to the pollset. */
        ret = lttng_poll_add(&events, ht_cleanup_pipe[0], LPOLLIN | LPOLLERR);
        if (ret < 0) {
+               DBG("[ht-thread] lttng_poll_add error %d.", ret);
                goto error;
        }
 
@@ -93,6 +96,11 @@ restart:
                        revents = LTTNG_POLL_GETEV(&events, i);
                        pollfd = LTTNG_POLL_GETFD(&events, i);
 
+                       if (!revents) {
+                               /* No activity for this FD (poll implementation). */
+                               continue;
+                       }
+
                        if (pollfd != ht_cleanup_pipe[0]) {
                                continue;
                        }
@@ -137,6 +145,11 @@ restart:
                        revents = LTTNG_POLL_GETEV(&events, i);
                        pollfd = LTTNG_POLL_GETFD(&events, i);
 
+                       if (!revents) {
+                               /* No activity for this FD (poll implementation). */
+                               continue;
+                       }
+
                        if (pollfd == ht_cleanup_pipe[0]) {
                                continue;
                        }
@@ -145,6 +158,7 @@ restart:
                        ret = sessiond_check_ht_cleanup_quit(pollfd, revents);
                        if (ret) {
                                err = 0;
+                               DBG("[ht-cleanup] quit.");
                                goto exit;
                        }
                }
This page took 0.025636 seconds and 4 git commands to generate.