<分区>
nginx 中的每个工作进程都有一个发布的事件队列。 ngx_event_t 有两个指针,next 和 prev:
/* the links of the posted queue */
ngx_event_t *next;
ngx_event_t **prev;
nginx使用这两个指针来实现posted事件队列,next指向下一个事件,prev指向前一个事件的next指针。 后期操作:
ev->next = (ngx_event_t *) *queue;
ev->prev = (ngx_event_t **) queue;
*queue = ev;
if (ev->next) {
ev->next->prev = &ev->next;
}
删除操作:
*(ev->prev) = ev->next;
if (ev->next) {
ev->next->prev = ev->prev;
}
为什么prev要用二级指针类型?有什么好处?