… | |
… | |
2475 | #endif |
2475 | #endif |
2476 | { |
2476 | { |
2477 | #ifdef _WIN32 |
2477 | #ifdef _WIN32 |
2478 | WSABUF buf; |
2478 | WSABUF buf; |
2479 | DWORD sent; |
2479 | DWORD sent; |
2480 | buf.buf = &buf; |
2480 | buf.buf = (char *)&buf; |
2481 | buf.len = 1; |
2481 | buf.len = 1; |
2482 | WSASend (EV_FD_TO_WIN32_HANDLE (evpipe [1]), &buf, 1, &sent, 0, 0, 0); |
2482 | WSASend (EV_FD_TO_WIN32_HANDLE (evpipe [1]), &buf, 1, &sent, 0, 0, 0); |
2483 | #else |
2483 | #else |
2484 | write (evpipe [1], &(evpipe [1]), 1); |
2484 | write (evpipe [1], &(evpipe [1]), 1); |
2485 | #endif |
2485 | #endif |
… | |
… | |
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 */ |