| event = WSACreateEvent(void); |
| WSAEventSelect(s, event, FD_ACCEPT); |
| int ngx_overlapped_process_events(ngx_log_t *log) |
| n = WSAWaitForMultipleEvents(nevents, events, 0, timer, 1); |
| if (n == WSA_WAIT_TIMEOUT) |
| if (n == WSA_IO_COMPLETION) |
| /* try it with AcceptEx() on NT to detect connected sockets */ |
| sockets[n - WSA_WAIT_EVENT_0], |
| events[n - WSA_WAIT_EVENT_0], |
| if (net_events.lNetworkEvents & FD_ACCEPT) { |
| if (net_events.iErrorCode[FD_ACCEPT_BIT] != 0) |
| ngx_event_accept(); OR post AcceptEx(); |
| void CALLBACK overlapped_completion_procedure(DWORD error, DWORD nbytes, |
| LPWSAOVERLAPPED overlapped, DWORD flags) |