8 #ifndef _NGX_EVENT_POSTED_H_INCLUDED_
9 #define _NGX_EVENT_POSTED_H_INCLUDED_
22 #define ngx_locked_post_event(ev, queue) \
24 if (ev->prev == NULL) { \
25 ev->next = (ngx_event_t *) *queue; \
26 ev->prev = (ngx_event_t **) queue; \
30 ev->next->prev = &ev->next; \
33 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, "post event %p", ev); \
36 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \
37 "update posted event %p", ev); \
41 #define ngx_post_event(ev, queue) \
43 ngx_mutex_lock(ngx_posted_events_mutex); \
44 ngx_locked_post_event(ev, queue); \
45 ngx_mutex_unlock(ngx_posted_events_mutex);
48 #define ngx_delete_posted_event(ev) \
50 *(ev->prev) = ev->next; \
53 ev->next->prev = ev->prev; \
57 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \
58 "delete posted event %p", ev);