|  |  | 
|  | /* | 
|  | * Copyright (C) Igor Sysoev | 
|  | * Copyright (C) Nginx, Inc. | 
|  | */ | 
|  |  | 
|  |  | 
|  | #ifndef _NGX_EVENT_POSTED_H_INCLUDED_ | 
|  | #define _NGX_EVENT_POSTED_H_INCLUDED_ | 
|  |  | 
|  |  | 
|  | #include <ngx_config.h> | 
|  | #include <ngx_core.h> | 
|  | #include <ngx_event.h> | 
|  |  | 
|  |  | 
|  | #define ngx_post_event(ev, q)                                                 \ | 
|  | \ | 
|  | if (!(ev)->posted) {                                                      \ | 
|  | (ev)->posted = 1;                                                     \ | 
|  | ngx_queue_insert_tail(q, &(ev)->queue);                               \ | 
|  | \ | 
|  | ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, "post event %p", ev);\ | 
|  | \ | 
|  | } else  {                                                                 \ | 
|  | ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0,                      \ | 
|  | "update posted event %p", ev);                         \ | 
|  | } | 
|  |  | 
|  |  | 
|  | #define ngx_delete_posted_event(ev)                                           \ | 
|  | \ | 
|  | (ev)->posted = 0;                                                         \ | 
|  | ngx_queue_remove(&(ev)->queue);                                           \ | 
|  | \ | 
|  | ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0,                          \ | 
|  | "delete posted event %p", ev); | 
|  |  | 
|  |  | 
|  |  | 
|  | void ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted); | 
|  |  | 
|  |  | 
|  | extern ngx_queue_t  ngx_posted_accept_events; | 
|  | extern ngx_queue_t  ngx_posted_events; | 
|  |  | 
|  |  | 
|  | #endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */ |