aboutsummaryrefslogtreecommitdiff
path: root/src/event/ngx_event_posted.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/ngx_event_posted.c')
-rw-r--r--src/event/ngx_event_posted.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/event/ngx_event_posted.c b/src/event/ngx_event_posted.c
index 87e506d71..d851f3d14 100644
--- a/src/event/ngx_event_posted.c
+++ b/src/event/ngx_event_posted.c
@@ -10,26 +10,24 @@
#include <ngx_event.h>
-ngx_event_t *ngx_posted_accept_events;
-ngx_event_t *ngx_posted_events;
+ngx_queue_t ngx_posted_accept_events;
+ngx_queue_t ngx_posted_events;
void
-ngx_event_process_posted(ngx_cycle_t *cycle, ngx_event_t **posted)
+ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted)
{
+ ngx_queue_t *q;
ngx_event_t *ev;
- for ( ;; ) {
+ while (!ngx_queue_empty(posted)) {
- ev = *posted;
+ q = ngx_queue_head(posted);
+ ev = ngx_queue_data(q, ngx_event_t, queue);
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
"posted event %p", ev);
- if (ev == NULL) {
- return;
- }
-
ngx_delete_posted_event(ev);
ev->handler(ev);