X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer-timer.c;h=b97cb28443a99232550de4d543b2607896452ead;hb=3d229795de7f38cce87d6d5ea76ef413dbb71f1d;hp=b02ccbb115a9cdd6337f5214bcd49b8d268aed79;hpb=1fc79fb475198741b09a13b5397f018dff4b1aec;p=lttng-tools.git diff --git a/src/common/consumer-timer.c b/src/common/consumer-timer.c index b02ccbb11..b97cb2844 100644 --- a/src/common/consumer-timer.c +++ b/src/common/consumer-timer.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -28,7 +29,6 @@ #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, @@ -397,7 +397,7 @@ void consumer_timer_live_start(struct lttng_consumer_channel *channel, assert(channel); assert(channel->key); - if (live_timer_interval == 0) { + if (live_timer_interval <= 0) { return; } @@ -472,12 +472,18 @@ void *consumer_timer_thread(void *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");