| 2573 | } |
| 2574 | |
| 2575 | void pn_proactor_interrupt(pn_proactor_t *p) { |
| 2576 | csguard g(&p->context.cslock); |
| 2577 | if (p->context.working) |
| 2578 | p->delayed_interrupt = true; |
| 2579 | else |
| 2580 | p->need_interrupt = true; |
| 2581 | proactor_wake(p); |
| 2582 | } |
| 2583 | |
| 2584 | // runs on a threadpool thread. Must not hold timer_lock. |
| 2585 | VOID CALLBACK timeout_cb(PVOID arg, BOOLEAN /* ignored*/ ) { |
nothing calls this directly
no test coverage detected