X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer-timer.c;h=7ece0f6a54a37eb97084e8973cecc63c59b8b8e3;hb=9ce5646a7ef9b8d7936c46649a21ee546fadd538;hp=68b5638ddc404e009ba7c5d835b7b2fec782ecc9;hpb=59a8d3ecc8cbc7e00354a18b591f1a83304849d7;p=lttng-tools.git diff --git a/src/common/consumer-timer.c b/src/common/consumer-timer.c index 68b5638dd..7ece0f6a5 100644 --- a/src/common/consumer-timer.c +++ b/src/common/consumer-timer.c @@ -28,6 +28,7 @@ #include "consumer-timer.h" #include "ust-consumer/ust-consumer.h" +#include "../bin/lttng-consumerd/health-consumerd.h" static struct timer_signal_data timer_signal = { .tid = 0, @@ -469,12 +470,20 @@ void *consumer_timer_thread(void *data) siginfo_t info; struct lttng_consumer_local_data *ctx = data; + health_register(health_consumerd, HEALTH_CONSUMERD_TYPE_METADATA_TIMER); + + health_code_update(); + /* Only self thread will receive signal mask. */ setmask(&mask); CMM_STORE_SHARED(timer_signal.tid, pthread_self()); while (1) { + health_code_update(); + + health_poll_entry(); signr = sigwaitinfo(&mask, &info); + health_poll_exit(); if (signr == -1) { if (errno != EINTR) { PERROR("sigwaitinfo"); @@ -494,5 +503,9 @@ void *consumer_timer_thread(void *data) } } + /* Currently never reached */ + health_unregister(health_consumerd); + + /* Never return */ return NULL; }