File tree 1 file changed +4
-10
lines changed
1 file changed +4
-10
lines changed Original file line number Diff line number Diff line change 15
15
*/
16
16
int clock_gettime (clockid_t clock_id , struct timespec * ts )
17
17
{
18
- s64_t elapsed_msecs , elapsed_secs ;
19
- s64_t elapsed_nsec , elapsed_cycles ;
18
+ u64_t elapsed_msecs ;
20
19
21
20
if (clock_id != CLOCK_MONOTONIC ) {
22
21
errno = EINVAL ;
23
22
return -1 ;
24
23
}
25
24
26
25
elapsed_msecs = k_uptime_get ();
27
- elapsed_secs = elapsed_msecs / MSEC_PER_SEC ;
26
+ ts -> tv_sec = (s32_t ) (elapsed_msecs / MSEC_PER_SEC );
27
+ ts -> tv_nsec = (s32_t ) ((elapsed_msecs % MSEC_PER_SEC ) *
28
+ USEC_PER_MSEC * NSEC_PER_USEC );
28
29
29
- elapsed_cycles = (s64_t ) (k_cycle_get_32 () %
30
- sys_clock_hw_cycles_per_sec );
31
- elapsed_nsec = (s64_t ) ((elapsed_cycles * NSEC_PER_SEC ) /
32
- sys_clock_hw_cycles_per_sec );
33
-
34
- ts -> tv_sec = (s32_t ) elapsed_secs ;
35
- ts -> tv_nsec = (s32_t ) elapsed_nsec ;
36
30
return 0 ;
37
31
}
You can’t perform that action at this time.
0 commit comments