mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-21 14:01:56 -04:00
Posix: fix event_wait_timed() (#346)
event_wait_timed() was ignoring a timeout of 1000 ms. Presumably this is because pthread_cond_timedwait() only considers tv_nsec less than one second. Convert the timeout in miliseconds to second and nanosecond components to fix this. Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
This commit is contained in:
parent
bad8f01afd
commit
6a84f2c1da
|
@ -76,8 +76,8 @@ bool event_wait_timed( struct event * ev,
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
clock_gettime( CLOCK_REALTIME, &ts );
|
clock_gettime( CLOCK_REALTIME, &ts );
|
||||||
//ts.tv_sec += ms;
|
ts.tv_sec += ms / 1000;
|
||||||
ts.tv_nsec += (ms * 1000000);
|
ts.tv_nsec += ((ms % 1000) * 1000000);
|
||||||
pthread_mutex_lock( &ev->mutex );
|
pthread_mutex_lock( &ev->mutex );
|
||||||
|
|
||||||
while( (ev->event_triggered == false) && (ret == 0) )
|
while( (ev->event_triggered == false) && (ret == 0) )
|
||||||
|
|
Loading…
Reference in a new issue