08
2015/01
守护过程接下来,master 进程就要正式开始发挥他作为一个 daemon 进程的责任了,陷入循环,等待信号发生,做出相应处理ngx_new_binary = 0;
delay = 0;
sigio = 0;
live = 1;
for ( ;; ) {
// 设定定时器,worker 定时退出
if (delay) {
if (ngx_sigalrm) {
sigio = 0;
delay *= 2;
ngx_sigalrm = 0;
}
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
"termination cycle: %d", delay);
itv.it_interval.tv_sec = 0;
itv.it_interval.tv_usec = 0;
itv.it_value.tv_sec = delay / 1000;
itv.it_value.tv_usec = (delay % 1000 ) * 1000;
// 设定精确的定时功能,以系统时间计算
if (setitimer(ITIMER_REAL, &itv, NULL) == -1) {
ngx_log_erro
#技术帖
#network
#龙潭书斋
#进程