From 11413896d37029043b33e2900683d4740275df10 Mon Sep 17 00:00:00 2001 From: weety Date: Wed, 1 Jun 2016 13:52:05 +0800 Subject: [PATCH 1/2] Fixed time unit error. --- components/libc/newlib/syscalls.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/libc/newlib/syscalls.c b/components/libc/newlib/syscalls.c index 55c19ccee..ff09a4fe8 100644 --- a/components/libc/newlib/syscalls.c +++ b/components/libc/newlib/syscalls.c @@ -293,7 +293,7 @@ int libc_get_time(struct timespec *time) tick = rt_tick_get(); time->tv_sec = _timevalue.tv_sec + tick / RT_TICK_PER_SECOND; - time->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * NANOSECOND_PER_TICK) * 1000; + time->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * MICROSECOND_PER_TICK) * 1000; return 0; } @@ -308,7 +308,7 @@ _gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp) if (__tp != RT_NULL) { __tp->tv_sec = tp.tv_sec; - __tp->tv_usec = tp.tv_nsec * 1000UL; + __tp->tv_usec = tp.tv_nsec / 1000UL; } return tp.tv_sec; @@ -331,7 +331,7 @@ _gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp) if (__tp != RT_NULL) { __tp->tv_sec = tp.tv_sec; - __tp->tv_usec = tp.tv_nsec * 1000UL; + __tp->tv_usec = tp.tv_nsec / 1000UL; } return tp.tv_sec; From 0af00b9ce5104b66a328b45d27ab23d57ea11251 Mon Sep 17 00:00:00 2001 From: weety Date: Wed, 1 Jun 2016 14:07:47 +0800 Subject: [PATCH 2/2] fixed time unit error in clock_gettime. --- components/libc/pthreads/clock_time.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/libc/pthreads/clock_time.c b/components/libc/pthreads/clock_time.c index 06227e17e..072ab84f1 100644 --- a/components/libc/pthreads/clock_time.c +++ b/components/libc/pthreads/clock_time.c @@ -112,7 +112,7 @@ int clock_gettime(clockid_t clockid, struct timespec *tp) tick = rt_tick_get(); tp->tv_sec = _timevalue.tv_sec + tick / RT_TICK_PER_SECOND; - tp->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * NANOSECOND_PER_TICK) * 1000; + tp->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * MICROSECOND_PER_TICK) * 1000; return 0; }