Mercurial > hg > nginx
comparison src/event/ngx_event_posted.h @ 6060:3d4730eada9c
Events: made posted events macros safe.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Fri, 27 Mar 2015 19:57:15 +0300 |
parents | 3f5f0ab59b35 |
children | 9d2ad2fb4423 |
comparison
equal
deleted
inserted
replaced
6059:c81d79a7befd | 6060:3d4730eada9c |
---|---|
14 #include <ngx_event.h> | 14 #include <ngx_event.h> |
15 | 15 |
16 | 16 |
17 #define ngx_post_event(ev, q) \ | 17 #define ngx_post_event(ev, q) \ |
18 \ | 18 \ |
19 if (!ev->posted) { \ | 19 if (!(ev)->posted) { \ |
20 ev->posted = 1; \ | 20 (ev)->posted = 1; \ |
21 ngx_queue_insert_tail(q, &ev->queue); \ | 21 ngx_queue_insert_tail(q, &(ev)->queue); \ |
22 \ | 22 \ |
23 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, "post event %p", ev); \ | 23 ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, "post event %p", ev);\ |
24 \ | 24 \ |
25 } else { \ | 25 } else { \ |
26 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ | 26 ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, \ |
27 "update posted event %p", ev); \ | 27 "update posted event %p", ev); \ |
28 } | 28 } |
29 | 29 |
30 | 30 |
31 #define ngx_delete_posted_event(ev) \ | 31 #define ngx_delete_posted_event(ev) \ |
32 \ | 32 \ |
33 ev->posted = 0; \ | 33 (ev)->posted = 0; \ |
34 ngx_queue_remove(&ev->queue); \ | 34 ngx_queue_remove(&(ev)->queue); \ |
35 \ | 35 \ |
36 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ | 36 ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, \ |
37 "delete posted event %p", ev); | 37 "delete posted event %p", ev); |
38 | 38 |
39 | 39 |
40 | 40 |
41 void ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted); | 41 void ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted); |