… | |
… | |
3304 | void |
3304 | void |
3305 | ev_invoke_pending (EV_P) |
3305 | ev_invoke_pending (EV_P) |
3306 | { |
3306 | { |
3307 | pendingpri = NUMPRI; |
3307 | pendingpri = NUMPRI; |
3308 | |
3308 | |
3309 | while (pendingpri) /* pendingpri possibly gets modified in the inner loop */ |
3309 | do |
3310 | { |
3310 | { |
3311 | --pendingpri; |
3311 | --pendingpri; |
3312 | |
3312 | |
|
|
3313 | /* pendingpri possibly gets modified in the inner loop */ |
3313 | while (pendingcnt [pendingpri]) |
3314 | while (pendingcnt [pendingpri]) |
3314 | { |
3315 | { |
3315 | ANPENDING *p = pendings [pendingpri] + --pendingcnt [pendingpri]; |
3316 | ANPENDING *p = pendings [pendingpri] + --pendingcnt [pendingpri]; |
3316 | |
3317 | |
3317 | p->w->pending = 0; |
3318 | p->w->pending = 0; |
3318 | EV_CB_INVOKE (p->w, p->events); |
3319 | EV_CB_INVOKE (p->w, p->events); |
3319 | EV_FREQUENT_CHECK; |
3320 | EV_FREQUENT_CHECK; |
3320 | } |
3321 | } |
3321 | } |
3322 | } |
|
|
3323 | while (pendingpri); |
3322 | } |
3324 | } |
3323 | |
3325 | |
3324 | #if EV_IDLE_ENABLE |
3326 | #if EV_IDLE_ENABLE |
3325 | /* make idle watchers pending. this handles the "call-idle */ |
3327 | /* make idle watchers pending. this handles the "call-idle */ |
3326 | /* only when higher priorities are idle" logic */ |
3328 | /* only when higher priorities are idle" logic */ |