On Tue, May 18, 2021 at 7:05 AM Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > > Close #4426. > --- > cpukit/posix/src/clocknanosleep.c | 26 +++++++++++++------------- > 1 file changed, 13 insertions(+), 13 deletions(-) > > diff --git a/cpukit/posix/src/clocknanosleep.c > b/cpukit/posix/src/clocknanosleep.c > index 951268bc1f..eb7f231e86 100644 > --- a/cpukit/posix/src/clocknanosleep.c > +++ b/cpukit/posix/src/clocknanosleep.c > @@ -61,21 +61,17 @@ int clock_nanosleep( > > if ( ( flags & TIMER_ABSTIME ) != 0 ) { > end = rqtp; > - > - if ( clock_id == CLOCK_REALTIME ) { > - _Thread_queue_Context_set_enqueue_timeout_realtime_timespec( > - &queue_context, > - end > - ); > - } else { > - _Thread_queue_Context_set_enqueue_timeout_monotonic_timespec( > - &queue_context, > - end > - ); > - } > } else { > _Timecounter_Nanouptime( &uptime ); Shouldn't this also be _Timecounter_Nanotime( &now) in case of using CLOCK_REALTIME?
> end = _Watchdog_Future_timespec( &uptime, rqtp ); > + } > + > + if ( clock_id == CLOCK_REALTIME ) { > + _Thread_queue_Context_set_enqueue_timeout_realtime_timespec( > + &queue_context, > + end > + ); > + } else { > _Thread_queue_Context_set_enqueue_timeout_monotonic_timespec( > &queue_context, > end > @@ -101,7 +97,11 @@ int clock_nanosleep( > if ( eno == EINTR ) { > struct timespec actual_end; > > - _Timecounter_Nanouptime( &actual_end ); > + if ( clock_id == CLOCK_REALTIME ) { > + _Timecounter_Nanotime( &actual_end ); > + } else { > + _Timecounter_Nanouptime( &actual_end ); > + } > > if ( _Timespec_Less_than( &actual_end, end ) ) { > _Timespec_Subtract( &actual_end, end, rmtp ); > -- > 2.26.2 > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel