kernel: POSIX: correcting time calculation in timer_gettime.

timer_gettime() internally uses k_timer_remaining_get()
to get time remaining to expire. Time unit for
k_timer_remaining_get is msec not ticks.

Signed-off-by: Youvedeep Singh <youvedeep.singh@intel.com>
This commit is contained in:
Youvedeep Singh 2018-03-07 13:06:17 +05:30 committed by Anas Nashif
commit 648230b51e

View file

@ -101,9 +101,9 @@ int timer_gettime(timer_t timerid, struct itimerspec *its)
if (timer->status == ACTIVE) {
remaining = k_timer_remaining_get(&timer->ztimer);
secs = remaining / sys_clock_ticks_per_sec;
leftover = remaining - (secs * sys_clock_ticks_per_sec);
nsecs = leftover * NSEC_PER_SEC / sys_clock_ticks_per_sec;
secs = remaining / MSEC_PER_SEC;
leftover = remaining - (secs * MSEC_PER_SEC);
nsecs = leftover * NSEC_PER_MSEC;
its->it_value.tv_sec = (s32_t) secs;
its->it_value.tv_nsec = (s32_t) nsecs;
} else {