… | |
… | |
1430 | w_->pending = ++pendingcnt [pri]; |
1430 | w_->pending = ++pendingcnt [pri]; |
1431 | array_needsize (ANPENDING, pendings [pri], pendingmax [pri], w_->pending, EMPTY2); |
1431 | array_needsize (ANPENDING, pendings [pri], pendingmax [pri], w_->pending, EMPTY2); |
1432 | pendings [pri][w_->pending - 1].w = w_; |
1432 | pendings [pri][w_->pending - 1].w = w_; |
1433 | pendings [pri][w_->pending - 1].events = revents; |
1433 | pendings [pri][w_->pending - 1].events = revents; |
1434 | } |
1434 | } |
|
|
1435 | |
|
|
1436 | pendingpri = NUMPRI - 1; |
1435 | } |
1437 | } |
1436 | |
1438 | |
1437 | inline_speed void |
1439 | inline_speed void |
1438 | feed_reverse (EV_P_ W w) |
1440 | feed_reverse (EV_P_ W w) |
1439 | { |
1441 | { |
… | |
… | |
2685 | } |
2687 | } |
2686 | |
2688 | |
2687 | void noinline |
2689 | void noinline |
2688 | ev_invoke_pending (EV_P) |
2690 | ev_invoke_pending (EV_P) |
2689 | { |
2691 | { |
2690 | int pri; |
2692 | for (pendingpri = NUMPRI; pendingpri--; ) /* pendingpri is modified during the loop */ |
2691 | |
|
|
2692 | for (pri = NUMPRI; pri--; ) |
|
|
2693 | while (pendingcnt [pri]) |
2693 | while (pendingcnt [pendingpri]) |
2694 | { |
2694 | { |
2695 | ANPENDING *p = pendings [pri] + --pendingcnt [pri]; |
2695 | ANPENDING *p = pendings [pendingpri] + --pendingcnt [pendingpri]; |
2696 | |
2696 | |
2697 | p->w->pending = 0; |
2697 | p->w->pending = 0; |
2698 | EV_CB_INVOKE (p->w, p->events); |
2698 | EV_CB_INVOKE (p->w, p->events); |
2699 | EV_FREQUENT_CHECK; |
2699 | EV_FREQUENT_CHECK; |
2700 | } |
2700 | } |