Mercurial > hg > nginx
comparison src/event/ngx_event_posted.c @ 379:73688d5d7fc3
nginx-0.0.7-2004-07-06-20:12:16 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 06 Jul 2004 16:12:16 +0000 |
parents | 41437e4fd9b4 |
children | 5ce6561246a5 |
comparison
equal
deleted
inserted
replaced
378:b7d3625c9336 | 379:73688d5d7fc3 |
---|---|
71 } | 71 } |
72 | 72 |
73 | 73 |
74 ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle) | 74 ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle) |
75 { | 75 { |
76 ngx_tls_t *tls; | |
76 ngx_event_t *ev; | 77 ngx_event_t *ev; |
78 | |
79 tls = ngx_thread_get_tls(); | |
77 | 80 |
78 for ( ;; ) { | 81 for ( ;; ) { |
79 | 82 |
80 ev = (ngx_event_t *) ngx_posted_events; | 83 ev = (ngx_event_t *) ngx_posted_events; |
81 | 84 |
119 #endif | 122 #endif |
120 ev->posted_available = 0; | 123 ev->posted_available = 0; |
121 | 124 |
122 ngx_mutex_unlock(ngx_posted_events_mutex); | 125 ngx_mutex_unlock(ngx_posted_events_mutex); |
123 | 126 |
127 tls->event = ev; | |
128 | |
124 ev->event_handler(ev); | 129 ev->event_handler(ev); |
125 | 130 |
126 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { | 131 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { |
127 return NGX_ERROR; | 132 return NGX_ERROR; |
128 } | 133 } |
129 | 134 |
130 if (ev->locked) { | 135 if (ev->locked) { |
131 ngx_unlock(ev->lock); | 136 ngx_unlock(ev->lock); |
132 } | 137 } |
138 | |
139 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, | |
140 "posted event " PTR_FMT " is done", ev); | |
133 | 141 |
134 break; | 142 break; |
135 } | 143 } |
136 } | 144 } |
137 } | 145 } |