… | |
… | |
559 | ev_loop_done = flags & EVLOOP_ONESHOT ? 1 : 0; |
559 | ev_loop_done = flags & EVLOOP_ONESHOT ? 1 : 0; |
560 | |
560 | |
561 | do |
561 | do |
562 | { |
562 | { |
563 | /* queue check watchers (and execute them) */ |
563 | /* queue check watchers (and execute them) */ |
564 | if (checkcnt) |
564 | if (preparecnt) |
565 | { |
565 | { |
566 | queue_events ((W *)prepares, preparecnt, EV_PREPARE); |
566 | queue_events ((W *)prepares, preparecnt, EV_PREPARE); |
567 | call_pending (); |
567 | call_pending (); |
568 | } |
568 | } |
569 | |
569 | |
570 | /* update fd-related kernel structures */ |
570 | /* update fd-related kernel structures */ |
571 | fd_reify (); |
571 | fd_reify (); |
572 | |
572 | |
573 | /* calculate blocking time */ |
573 | /* calculate blocking time */ |
574 | |
574 | |
575 | /* we only need this for !monotonic clock, but as we always have timers, we just calculate it every time */ |
575 | /* we only need this for !monotonic clockor timers, but as we basically |
|
|
576 | always have timers, we just calculate it always */ |
576 | ev_now = ev_time (); |
577 | ev_now = ev_time (); |
577 | |
578 | |
578 | if (flags & EVLOOP_NONBLOCK || idlecnt) |
579 | if (flags & EVLOOP_NONBLOCK || idlecnt) |
579 | block = 0.; |
580 | block = 0.; |
580 | else |
581 | else |