Mercurial > hg > nginx
comparison src/event/ngx_event_posted.h @ 373:018569a8f09c
nginx-0.0.7-2004-06-30-19:30:41 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 30 Jun 2004 15:30:41 +0000 |
parents | c9fdfccebc49 |
children | 213f17e9f776 |
comparison
equal
deleted
inserted
replaced
372:c9fdfccebc49 | 373:018569a8f09c |
---|---|
5 #include <ngx_config.h> | 5 #include <ngx_config.h> |
6 #include <ngx_core.h> | 6 #include <ngx_core.h> |
7 #include <ngx_event.h> | 7 #include <ngx_event.h> |
8 | 8 |
9 | 9 |
10 typedef struct ngx_posted_events_s ngx_posted_event_t; | |
11 | |
12 struct ngx_posted_events_s { | |
13 ngx_event_t *event; | |
14 ngx_posted_event_t *next; | |
15 | |
16 unsigned instance:1; | |
17 unsigned ready:1; | |
18 unsigned timedout:1; | |
19 unsigned complete:1; | |
20 }; | |
21 | |
22 | |
10 #define ngx_post_event(ev) \ | 23 #define ngx_post_event(ev) \ |
11 if (!ev->posted) { \ | 24 if (!ev->posted) { \ |
12 ev->next = (ngx_event_t *) ngx_posted_events; \ | 25 ev->next = (ngx_event_t *) ngx_posted_events; \ |
13 ngx_posted_events = ev; \ | 26 ngx_posted_events = ev; \ |
14 ev->posted = 1; \ | 27 ev->posted = 1; \ |
15 } | 28 } |
29 | |
30 /* | |
31 \ | |
32 ngx_log_debug3(NGX_LOG_DEBUG_CORE, ngx_cycle->log, 0, \ | |
33 "POST: %08X %08X %08X", ngx_posted_events, \ | |
34 (ngx_posted_events ? ngx_posted_events->next: 0), \ | |
35 ((ngx_posted_events && ngx_posted_events->next) ? \ | |
36 ngx_posted_events->next->next: 0)); \ | |
37 \ | |
38 */ | |
39 | |
40 /* | |
41 \ | |
42 { int i; ngx_event_t *e;\ | |
43 e = (ngx_event_t *) ngx_posted_events; \ | |
44 for (i = 0; e && i < 10; e = e->next, i++) { \ | |
45 ngx_log_debug2(NGX_LOG_DEBUG_CORE, ngx_cycle->log, 0, \ | |
46 "POST: %d %08X", i, e);\ | |
47 }} \ | |
48 \ | |
49 */ | |
16 | 50 |
17 | 51 |
18 void ngx_event_process_posted(ngx_cycle_t *cycle); | 52 void ngx_event_process_posted(ngx_cycle_t *cycle); |
19 | 53 |
20 extern ngx_thread_volatile ngx_event_t *ngx_posted_events; | 54 extern ngx_thread_volatile ngx_event_t *ngx_posted_events; |