X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer-timer.c;h=6d2e6b2b2cbc0ff0183b93f3b67afda3aa846f0b;hb=a0377dfefe40662ba7d68617bce6ff467114136c;hp=c190d3b627d0e8bc2ffc079bcc778456d3d22da4;hpb=fad4b619a1f7491acaf9b8fd2396c115b5bef56f;p=lttng-tools.git diff --git a/src/common/consumer/consumer-timer.c b/src/common/consumer/consumer-timer.c index c190d3b62..6d2e6b2b2 100644 --- a/src/common/consumer/consumer-timer.c +++ b/src/common/consumer/consumer-timer.c @@ -7,7 +7,6 @@ */ #define _LGPL_SOURCE -#include #include #include @@ -68,7 +67,7 @@ static void setmask(sigset_t *mask) } } -static int channel_monitor_pipe = -1; +static int the_channel_monitor_pipe = -1; /* * Execute action on a timer switch. @@ -84,7 +83,7 @@ static void metadata_switch_timer(struct lttng_consumer_local_data *ctx, struct lttng_consumer_channel *channel; channel = si->si_value.sival_ptr; - assert(channel); + LTTNG_ASSERT(channel); if (channel->switch_timer_error) { return; @@ -115,7 +114,7 @@ static void metadata_switch_timer(struct lttng_consumer_local_data *ctx, break; case LTTNG_CONSUMER_KERNEL: case LTTNG_CONSUMER_UNKNOWN: - assert(0); + abort(); break; } } @@ -237,7 +236,11 @@ int consumer_flush_ust_index(struct lttng_consumer_stream *stream) ERR("Failed to get the current timestamp"); goto end; } - lttng_ustconsumer_flush_buffer(stream, 1); + ret = lttng_ustconsumer_flush_buffer(stream, 1); + if (ret < 0) { + ERR("Failed to flush buffer while flushing index"); + goto end; + } ret = lttng_ustconsumer_take_snapshot(stream); if (ret < 0) { if (ret != -EAGAIN) { @@ -247,7 +250,7 @@ int consumer_flush_ust_index(struct lttng_consumer_stream *stream) } ret = lttng_ustconsumer_get_stream_id(stream, &stream_id); if (ret < 0) { - PERROR("ustctl_get_stream_id"); + PERROR("lttng_ust_ctl_get_stream_id"); goto end; } DBG("Stream %" PRIu64 " empty, sending beacon", stream->key); @@ -271,14 +274,14 @@ static void live_timer(struct lttng_consumer_local_data *ctx, struct lttng_consumer_channel *channel; struct lttng_consumer_stream *stream; struct lttng_ht_iter iter; - const struct lttng_ht *ht = consumer_data.stream_per_chan_id_ht; + const struct lttng_ht *ht = the_consumer_data.stream_per_chan_id_ht; const flush_index_cb flush_index = ctx->type == LTTNG_CONSUMER_KERNEL ? consumer_flush_kernel_index : consumer_flush_ust_index; channel = si->si_value.sival_ptr; - assert(channel); + LTTNG_ASSERT(channel); if (channel->switch_timer_error) { goto error; @@ -368,11 +371,11 @@ int consumer_channel_timer_start(timer_t *timer_id, unsigned int timer_interval_us, int signal) { int ret = 0, delete_ret; - struct sigevent sev; + struct sigevent sev = {}; struct itimerspec its; - assert(channel); - assert(channel->key); + LTTNG_ASSERT(channel); + LTTNG_ASSERT(channel->key); if (timer_interval_us == 0) { /* No creation needed; not an error. */ @@ -434,8 +437,8 @@ void consumer_timer_switch_start(struct lttng_consumer_channel *channel, { int ret; - assert(channel); - assert(channel->key); + LTTNG_ASSERT(channel); + LTTNG_ASSERT(channel->key); ret = consumer_channel_timer_start(&channel->switch_timer, channel, switch_timer_interval_us, LTTNG_CONSUMER_SIG_SWITCH); @@ -450,7 +453,7 @@ void consumer_timer_switch_stop(struct lttng_consumer_channel *channel) { int ret; - assert(channel); + LTTNG_ASSERT(channel); ret = consumer_channel_timer_stop(&channel->switch_timer, LTTNG_CONSUMER_SIG_SWITCH); @@ -469,8 +472,8 @@ void consumer_timer_live_start(struct lttng_consumer_channel *channel, { int ret; - assert(channel); - assert(channel->key); + LTTNG_ASSERT(channel); + LTTNG_ASSERT(channel->key); ret = consumer_channel_timer_start(&channel->live_timer, channel, live_timer_interval_us, LTTNG_CONSUMER_SIG_LIVE); @@ -485,7 +488,7 @@ void consumer_timer_live_stop(struct lttng_consumer_channel *channel) { int ret; - assert(channel); + LTTNG_ASSERT(channel); ret = consumer_channel_timer_stop(&channel->live_timer, LTTNG_CONSUMER_SIG_LIVE); @@ -507,9 +510,9 @@ int consumer_timer_monitor_start(struct lttng_consumer_channel *channel, { int ret; - assert(channel); - assert(channel->key); - assert(!channel->monitor_timer_enabled); + LTTNG_ASSERT(channel); + LTTNG_ASSERT(channel->key); + LTTNG_ASSERT(!channel->monitor_timer_enabled); ret = consumer_channel_timer_start(&channel->monitor_timer, channel, monitor_timer_interval_us, LTTNG_CONSUMER_SIG_MONITOR); @@ -524,8 +527,8 @@ int consumer_timer_monitor_stop(struct lttng_consumer_channel *channel) { int ret; - assert(channel); - assert(channel->monitor_timer_enabled); + LTTNG_ASSERT(channel); + LTTNG_ASSERT(channel->monitor_timer_enabled); ret = consumer_channel_timer_stop(&channel->monitor_timer, LTTNG_CONSUMER_SIG_MONITOR); @@ -570,7 +573,7 @@ int sample_channel_positions(struct lttng_consumer_channel *channel, struct lttng_consumer_stream *stream; bool empty_channel = true; uint64_t high = 0, low = UINT64_MAX; - struct lttng_ht *ht = consumer_data.stream_per_chan_id_ht; + struct lttng_ht *ht = the_consumer_data.stream_per_chan_id_ht; *_total_consumed = 0; @@ -651,13 +654,13 @@ void monitor_timer(struct lttng_consumer_channel *channel) get_produced_cb get_produced; uint64_t lowest = 0, highest = 0, total_consumed = 0; - assert(channel); + LTTNG_ASSERT(channel); if (channel_monitor_pipe < 0) { return; } - switch (consumer_data.type) { + switch (the_consumer_data.type) { case LTTNG_CONSUMER_KERNEL: sample = lttng_kconsumer_sample_snapshot_positions; get_consumed = lttng_kconsumer_get_consumed_snapshot; @@ -686,7 +689,7 @@ void monitor_timer(struct lttng_consumer_channel *channel) * Writes performed here are assumed to be atomic which is only * guaranteed for sizes < than PIPE_BUF. */ - assert(sizeof(msg) <= PIPE_BUF); + LTTNG_ASSERT(sizeof(msg) <= PIPE_BUF); do { ret = write(channel_monitor_pipe, &msg, sizeof(msg)); @@ -708,14 +711,14 @@ void monitor_timer(struct lttng_consumer_channel *channel) int consumer_timer_thread_get_channel_monitor_pipe(void) { - return uatomic_read(&channel_monitor_pipe); + return uatomic_read(&the_channel_monitor_pipe); } int consumer_timer_thread_set_channel_monitor_pipe(int fd) { int ret; - ret = uatomic_cmpxchg(&channel_monitor_pipe, -1, fd); + ret = uatomic_cmpxchg(&the_channel_monitor_pipe, -1, fd); if (ret != -1) { ret = -1; goto end; @@ -783,7 +786,7 @@ void *consumer_timer_thread(void *data) channel = info.si_value.sival_ptr; monitor_timer(channel); } else if (signr == LTTNG_CONSUMER_SIG_EXIT) { - assert(CMM_LOAD_SHARED(consumer_quit)); + LTTNG_ASSERT(CMM_LOAD_SHARED(consumer_quit)); goto end; } else { ERR("Unexpected signal %d\n", info.si_signo);