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;
}
//...
//...
/*timer 作爲epoll_ctl的第三個參數定時時間傳入.
兩種方案的定時時間都存入紅黑樹中進行管理*/
//...
//...
}
參考:
http://geek.csdn.net//news/detail/3119
http://www.aqee.net/reverse-engineering-a-d-link-backdoor/
http://www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/
Nginx---定時器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.