diff src/event/ngx_event.h @ 5821:3f5f0ab59b35

Events: processing of posted events changed from LIFO to FIFO. In theory, this can provide a bit better distribution of latencies. Also it simplifies the code, since ngx_queue_t is now used instead of custom implementation.
author Valentin Bartenev <vbart@nginx.com>
date Mon, 01 Sep 2014 18:20:18 +0400
parents 3377f9459e99
children 3efdd7788bb0
line wrap: on
line diff
--- a/src/event/ngx_event.h
+++ b/src/event/ngx_event.h
@@ -74,6 +74,8 @@ struct ngx_event_s {
     /* the pending eof reported by kqueue, epoll or in aio chain operation */
     unsigned         pending_eof:1;
 
+    unsigned         posted:1;
+
 #if (NGX_WIN32)
     /* setsockopt(SO_UPDATE_ACCEPT_CONTEXT) was successful */
     unsigned         accept_context_updated:1;
@@ -125,16 +127,15 @@ struct ngx_event_s {
 
     ngx_rbtree_node_t   timer;
 
+    /* the posted queue */
+    ngx_queue_t      queue;
+
     unsigned         closed:1;
 
     /* to test on worker exit */
     unsigned         channel:1;
     unsigned         resolver:1;
 
-    /* the links of the posted queue */
-    ngx_event_t     *next;
-    ngx_event_t    **prev;
-
 
 #if 0