Fix live timer calculation error
authorMikael Beckius <mikael.beckius@windriver.com>
Wed, 21 Oct 2015 19:48:29 +0000 (15:48 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 21 Oct 2015 19:52:44 +0000 (15:52 -0400)
There is an calculation error for live timer. Variable
switch_timer_interval is based on microsecond, and it is not
right to assign switch_timer_interval mod 1000000 to var tv_nsec
which is based on nanosecond.

Signed-off-by: Mikael Beckius <mikael.beckius@windriver.com>
Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/consumer-timer.c

index 02b7b3a49cd9ae81000a4e93c0f0d22b87d32b06..b35826cbba8ce82af8d47932832831819cbc6722 100644 (file)
@@ -438,7 +438,7 @@ void consumer_timer_switch_start(struct lttng_consumer_channel *channel,
        channel->switch_timer_enabled = 1;
 
        its.it_value.tv_sec = switch_timer_interval / 1000000;
-       its.it_value.tv_nsec = switch_timer_interval % 1000000;
+       its.it_value.tv_nsec = (switch_timer_interval % 1000000) * 1000;
        its.it_interval.tv_sec = its.it_value.tv_sec;
        its.it_interval.tv_nsec = its.it_value.tv_nsec;
 
@@ -495,7 +495,7 @@ void consumer_timer_live_start(struct lttng_consumer_channel *channel,
        channel->live_timer_enabled = 1;
 
        its.it_value.tv_sec = live_timer_interval / 1000000;
-       its.it_value.tv_nsec = live_timer_interval % 1000000;
+       its.it_value.tv_nsec = (live_timer_interval % 1000000) * 1000;
        its.it_interval.tv_sec = its.it_value.tv_sec;
        its.it_interval.tv_nsec = its.it_value.tv_nsec;
 
This page took 0.025867 seconds and 4 git commands to generate.