Bladeren bron

Run timeouts that will expire in less than one millisecond.

The timeouts for poll and epoll are given in milliseconds,
which caused busy looping in the event loop for timeouts
with less time remaining.
master
Richard Nyberg 16 jaren geleden
bovenliggende
commit
4539bc6fae
1 gewijzigde bestanden met toevoegingen van 1 en 1 verwijderingen
  1. +1
    -1
      evloop/timer.c

+ 1
- 1
evloop/timer.c Bestand weergeven

@@ -106,7 +106,7 @@ evtimers_run(void)
evtimer_gettime(&now); evtimer_gettime(&now);
while (timeheap_size() > 0) { while (timeheap_size() > 0) {
struct timespec diff = subtime(timeheap_top(), now); struct timespec diff = subtime(timeheap_top(), now);
if (diff.tv_sec < 0) { if (diff.tv_sec < 0 || (diff.tv_sec == 0 && diff.tv_nsec < 1000000)) {
struct timeout *t = timeheap_remove_top(); struct timeout *t = timeheap_remove_top();
t->th.i = -1; t->th.i = -1;
t->cb(-1, EV_TIMEOUT, t->arg); t->cb(-1, EV_TIMEOUT, t->arg);


||||||
x
 
000:0
Laden…
Annuleren
Opslaan