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;