sessiond: add missing testpoints
[lttng-tools.git] / src / bin / lttng-sessiond / ht-cleanup.c
index 890c9a8215e26967c5ff6b42b5cf171295cdc306..a201506c0eb1da3ad94ac110c351ad3fc0d064e7 100644 (file)
 
 #include "lttng-sessiond.h"
 #include "health-sessiond.h"
+#include "testpoint.h"
 
 void *thread_ht_cleanup(void *data)
 {
        int ret, i, pollfd, err = -1;
+       ssize_t size_ret;
        uint32_t revents, nb_fd;
        struct lttng_poll_event events;
 
@@ -38,6 +40,10 @@ void *thread_ht_cleanup(void *data)
 
        health_register(health_sessiond, HEALTH_SESSIOND_TYPE_HT_CLEANUP);
 
+       if (testpoint(sessiond_thread_ht_cleanup)) {
+               goto error_testpoint;
+       }
+
        health_code_update();
 
        ret = sessiond_set_thread_pollset(&events, 2);
@@ -100,11 +106,10 @@ restart:
                                goto error;
                        }
 
-                       do {
-                               /* Get socket from dispatch thread. */
-                               ret = read(ht_cleanup_pipe[0], &ht, sizeof(ht));
-                       } while (ret < 0 && errno == EINTR);
-                       if (ret < 0 || ret < sizeof(ht)) {
+                       /* Get socket from dispatch thread. */
+                       size_ret = lttng_read(ht_cleanup_pipe[0], &ht,
+                                       sizeof(ht));
+                       if (size_ret < sizeof(ht)) {
                                PERROR("ht cleanup notify pipe");
                                goto error;
                        }
@@ -125,6 +130,7 @@ exit:
 error:
        lttng_poll_clean(&events);
 error_poll_create:
+error_testpoint:
        utils_close_pipe(ht_cleanup_pipe);
        ht_cleanup_pipe[0] = ht_cleanup_pipe[1] = -1;
        DBG("[ust-thread] cleanup complete.");
This page took 0.026508 seconds and 5 git commands to generate.