Nginx事件处理(epoll) .

转自:http://bollaxu.iteye.com/blog/855457

 

事件处理是Nginx处理请求的核心,每个子进程在ngx_wrker_process_cycle()的循环里面不断调用ngx_procss_events_and_timers()

函数来处理各种事件。下面,分析使用epoll机制下的Nginx事件处理过程,用源码分析和debug信息追踪两种方法。

我们从ngx_worker_process_cycle()函数(即工作进程处理请求的循环)切入:

 

 

static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data)
{
/*...*/
//第一部分:初始化
ngx_worker_process_init(cycle, 1);
/*...*/
for ( ;; ) {
/*...*/
//第二部分:处理事件
ngx_process_events_and_timers(cycle);
/*...*/
}
/*...*/
}
 

 

你可能感兴趣的:(nginx)