我试图了解nginx如何处理事件,并且对nginx为什么重新定义事件处理程序有一个特定的问题。
发现:
rev->handler(rev);
问题:
rev->handler = ngx_http_process_request_line;
ngx_http_process_request_line(rev);
其他信息:
rev->handler = ngx_http_process_request_headers;
ngx_http_process_request_headers(rev);
c->read->handler = ngx_http_request_handler;
c->write->handler = ngx_http_request_handler;
r->read_event_handler = ngx_http_block_reading;
ngx_http_handler(r);
ngx_http_run_posted_requests(c);
TLDR;为什么nginx在事件处理过程中重新定义了event-> handler(函数ptr)?