1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| static ngx_int_t ngx_epoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) { events = epoll_wait(ep, event_list, (int) nevents, timer); for (i = 0; i < events; i++) { c = event_list[i].data.ptr;
instance = (uintptr_t) c & 1; c = (ngx_connection_t *) ((uintptr_t) c & (uintptr_t) ~1);
rev = c->read; //(gdb) p rev->handler //$3 = (ngx_event_handler_pt) 0x5555555cb7f6 <ngx_http_wait_request_handler> rev->handler(rev); } }
void ngx_event_accept(ngx_event_t *ev) { ngx_accept_disabled = ngx_cycle->connection_n / 8- ngx_cycle->free_connection_n; ngx_listening_t *ls; /* (gdb) p ls->handler $5 = (ngx_connection_handler_pt) 0x5555555cb32d <ngx_http_init_connection> */ ls->handler(c);
}
|