aboutsummaryrefslogtreecommitdiffstats
path: root/app/nginx/src/event/ngx_event_posted.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/nginx/src/event/ngx_event_posted.c')
-rw-r--r--app/nginx/src/event/ngx_event_posted.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/app/nginx/src/event/ngx_event_posted.c b/app/nginx/src/event/ngx_event_posted.c
new file mode 100644
index 0000000..d851f3d
--- /dev/null
+++ b/app/nginx/src/event/ngx_event_posted.c
@@ -0,0 +1,35 @@
+
+/*
+ * Copyright (C) Igor Sysoev
+ * Copyright (C) Nginx, Inc.
+ */
+
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+#include <ngx_event.h>
+
+
+ngx_queue_t ngx_posted_accept_events;
+ngx_queue_t ngx_posted_events;
+
+
+void
+ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted)
+{
+ ngx_queue_t *q;
+ ngx_event_t *ev;
+
+ while (!ngx_queue_empty(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);
+
+ ngx_delete_posted_event(ev);
+
+ ev->handler(ev);
+ }
+}