diff --git a/events/equeue/equeue.c b/events/equeue/equeue.c index 436b45c3eb0..19af4c1cabe 100644 --- a/events/equeue/equeue.c +++ b/events/equeue/equeue.c @@ -431,7 +431,14 @@ void equeue_dispatch(equeue_t *q, int ms) { } } equeue_mutex_unlock(&q->queuelock); - + + // in any case 'deadline' must be <= than 'ms' + // Unrecognized bug on some platform (deadline == 511999) + if(ms >= 0 && deadline > ms) { + deadline = ms; + if(ms == 0) + return; + } // wait for events equeue_sema_wait(&q->eventsema, deadline);