diff options
Diffstat (limited to 'cpukit/posix/src/clockgettime.c')
-rw-r--r-- | cpukit/posix/src/clockgettime.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/cpukit/posix/src/clockgettime.c b/cpukit/posix/src/clockgettime.c index d94bd16f98..8182f8e70f 100644 --- a/cpukit/posix/src/clockgettime.c +++ b/cpukit/posix/src/clockgettime.c @@ -36,22 +36,30 @@ int clock_gettime( if ( !tp ) rtems_set_errno_and_return_minus_one( EINVAL ); - if ( clock_id == CLOCK_REALTIME ) + if ( clock_id == CLOCK_REALTIME ) { _TOD_Get(tp); + return 0; + } #ifdef CLOCK_MONOTONIC - else if ( clock_id == CLOCK_MONOTONIC ) - _TOD_Get_uptime(tp); + if ( clock_id == CLOCK_MONOTONIC ) { + _TOD_Get_uptime_as_timespec( tp ); + return 0; + } #endif + #ifdef _POSIX_CPUTIME - else if ( clock_id == CLOCK_PROCESS_CPUTIME ) - _TOD_Get_uptime(tp); + if ( clock_id == CLOCK_PROCESS_CPUTIME ) { + _TOD_Get_uptime_as_timespec( tp ); + return 0; + } #endif + #ifdef _POSIX_THREAD_CPUTIME - else if ( clock_id == CLOCK_THREAD_CPUTIME ) + if ( clock_id == CLOCK_THREAD_CPUTIME ) rtems_set_errno_and_return_minus_one( ENOSYS ); #endif - else - rtems_set_errno_and_return_minus_one( EINVAL ); + + rtems_set_errno_and_return_minus_one( EINVAL ); return 0; } |