1 2 /* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) Nginx, Inc. 5 */ 6 7 8 #ifndef _NGX_EVENT_POSTED_H_INCLUDED_ 9 #define _NGX_EVENT_POSTED_H_INCLUDED_ 10 11 12 #include <ngx_config.h> 13 #include <ngx_core.h> 14 #include <ngx_event.h> 15 16 17 #define ngx_post_event(ev, q) \ 18 \ 19 if (!(ev)->posted) { \ 20 (ev)->posted = 1; \ 21 ngx_queue_insert_tail(q, &(ev)->queue); \ 22 \ 23 ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, "post event %p", ev);\ 24 \ 25 } else { \ 26 ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, \ 27 "update posted event %p", ev); \ 28 } 29 30 31 #define ngx_delete_posted_event(ev) \ 32 \ 33 (ev)->posted = 0; \ 34 ngx_queue_remove(&(ev)->queue); \ 35 \ 36 ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, \ 37 "delete posted event %p", ev); 38 39 40 41 void ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted); 42 43 44 extern ngx_queue_t ngx_posted_accept_events; 45 extern ngx_queue_t ngx_posted_events; 46 47 48 #endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */ 49