X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer-timer.c;h=dab30d4053ecbda6826521e592873cf5fa35a6ca;hp=38b8b30d29faac24d0d6500e90841fae08d0b0a0;hb=75018ab6aaa9b49e6248b002d9795319a0e5bb9a;hpb=23bc9bb5ee7a2f637d68341ba425700e04ea101f diff --git a/src/common/consumer/consumer-timer.c b/src/common/consumer/consumer-timer.c index 38b8b30d2..dab30d405 100644 --- a/src/common/consumer/consumer-timer.c +++ b/src/common/consumer/consumer-timer.c @@ -21,7 +21,6 @@ #include #include -#include #include #include #include @@ -88,7 +87,7 @@ static int channel_monitor_pipe = -1; * deadlocks. */ static void metadata_switch_timer(struct lttng_consumer_local_data *ctx, - int sig, siginfo_t *si) + siginfo_t *si) { int ret; struct lttng_consumer_channel *channel; @@ -321,7 +320,7 @@ end: * Execute action on a live timer */ static void live_timer(struct lttng_consumer_local_data *ctx, - int sig, siginfo_t *si) + siginfo_t *si) { int ret; struct lttng_consumer_channel *channel; @@ -710,8 +709,7 @@ end: * Execute action on a monitor timer. */ static -void monitor_timer(struct lttng_consumer_local_data *ctx, - struct lttng_consumer_channel *channel) +void monitor_timer(struct lttng_consumer_channel *channel) { int ret; int channel_monitor_pipe = @@ -722,6 +720,7 @@ void monitor_timer(struct lttng_consumer_local_data *ctx, sample_positions_cb sample; get_consumed_cb get_consumed; get_produced_cb get_produced; + uint64_t lowest = 0, highest = 0, total_consumed = 0; assert(channel); @@ -745,11 +744,14 @@ void monitor_timer(struct lttng_consumer_local_data *ctx, abort(); } - ret = sample_channel_positions(channel, &msg.highest, &msg.lowest, - &msg.total_consumed, sample, get_consumed, get_produced); + ret = sample_channel_positions(channel, &highest, &lowest, + &total_consumed, sample, get_consumed, get_produced); if (ret) { return; } + msg.highest = highest; + msg.lowest = lowest; + msg.total_consumed = total_consumed; /* * Writes performed here are assumed to be atomic which is only @@ -838,19 +840,19 @@ void *consumer_timer_thread(void *data) } continue; } else if (signr == LTTNG_CONSUMER_SIG_SWITCH) { - metadata_switch_timer(ctx, info.si_signo, &info); + metadata_switch_timer(ctx, &info); } else if (signr == LTTNG_CONSUMER_SIG_TEARDOWN) { cmm_smp_mb(); CMM_STORE_SHARED(timer_signal.qs_done, 1); cmm_smp_mb(); DBG("Signal timer metadata thread teardown"); } else if (signr == LTTNG_CONSUMER_SIG_LIVE) { - live_timer(ctx, info.si_signo, &info); + live_timer(ctx, &info); } else if (signr == LTTNG_CONSUMER_SIG_MONITOR) { struct lttng_consumer_channel *channel; channel = info.si_value.sival_ptr; - monitor_timer(ctx, channel); + monitor_timer(channel); } else if (signr == LTTNG_CONSUMER_SIG_EXIT) { assert(CMM_LOAD_SHARED(consumer_quit)); goto end;