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:38 +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 c3a07eca8a1dd7af4299e134665685495a33967b..c8131fe609248cb9386486d76ab27ef84dcfa511 100644 (file)
@@ -439,7 +439,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;
 
@@ -496,7 +496,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.025929 seconds and 4 git commands to generate.