X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer-timer.c;h=1571d86de78b95437d7f7ab833af79129a6b39e2;hb=51a9e1c7f7fd48e2b53e258aee269a69cb8b59d3;hp=05a09c2349af27aacf9b4332387e53d29de579f1;hpb=84a182ce022e128395c8d1e5762883f5825582d7;p=lttng-tools.git diff --git a/src/common/consumer-timer.c b/src/common/consumer-timer.c index 05a09c234..1571d86de 100644 --- a/src/common/consumer-timer.c +++ b/src/common/consumer-timer.c @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include #include @@ -470,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"); @@ -495,5 +503,9 @@ void *consumer_timer_thread(void *data) } } + /* Currently never reached */ + health_unregister(health_consumerd); + + /* Never return */ return NULL; }