ngx_posted_accept_events是一个事件队列,暂存epoll从监听套接口wait到的accept事件。 前文提到的NGX_POST_EVENTS标志被使用后,会将所有的accept事件暂存到这个队列 */ if (ngx_posted_accept_events) { ngx_event_process_posted(cycle, &ngx_posted_accept_events); } //所有accept事件处理完之后,如果持有锁的...
src/event/ngx_event.c void ngx_process_events_and_timers(ngx_cycle_t *cycle) { ngx_uint_t flags; ngx_msec_t timer, delta; if (ngx_timer_resolution) { timer = NGX_TIMER_INFINITE; flags = 0; } else { timer = ngx_event_find_timer(); flags = NGX_UPDATE_TIME; } /* ngx_use_a...
timer = ngx_accept_mutex_delay; } } } } delta = ngx_current_msec; /*接下来,epoll要开始wait事件, ngx_process_events的具体实现是对应到epoll模块中的ngx_epoll_process_events函数 这里之后会详细讲解的哦 */ (void) ngx_process_events(cycle, timer, flags); //统计本次wait事件的耗时 delta = n...