Mercurial > hg > nginx
comparison src/event/ngx_event_busy_lock.c @ 351:af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 10 Jun 2004 18:36:57 +0000 |
parents | ee394e997c77 |
children | da8c5707af39 |
comparison
equal
deleted
inserted
replaced
350:7b96b7f8a6af | 351:af4c6b45a687 |
---|---|
38 } else if (ctx->timer && bl->waiting < bl->max_waiting) { | 38 } else if (ctx->timer && bl->waiting < bl->max_waiting) { |
39 bl->waiting++; | 39 bl->waiting++; |
40 ngx_add_timer(ctx->event, ctx->timer); | 40 ngx_add_timer(ctx->event, ctx->timer); |
41 ctx->event->event_handler = ngx_event_busy_lock_handler; | 41 ctx->event->event_handler = ngx_event_busy_lock_handler; |
42 | 42 |
43 if (bl->events == NULL) { | 43 if (bl->events) { |
44 bl->last->next = ctx; | |
45 | |
46 } else { | |
44 bl->events = ctx; | 47 bl->events = ctx; |
45 } else { | 48 } |
46 bl->last->next = ctx; | 49 |
47 } | |
48 bl->last = ctx; | 50 bl->last = ctx; |
49 | 51 |
50 rc = NGX_AGAIN; | 52 rc = NGX_AGAIN; |
51 | 53 |
52 } else { | 54 } else { |
147 | 149 |
148 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { | 150 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { |
149 return NGX_ERROR; | 151 return NGX_ERROR; |
150 } | 152 } |
151 | 153 |
152 ev->next = (ngx_event_t *) ngx_posted_events; | 154 ngx_post_event(ev); |
153 ngx_posted_events = ev; | |
154 | 155 |
155 ngx_mutex_unlock(ngx_posted_events_mutex); | 156 ngx_mutex_unlock(ngx_posted_events_mutex); |
156 } | 157 } |
157 | 158 |
158 ngx_mutex_unlock(bl->mutex); | 159 ngx_mutex_unlock(bl->mutex); |
173 | 174 |
174 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { | 175 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { |
175 return NGX_ERROR; | 176 return NGX_ERROR; |
176 } | 177 } |
177 | 178 |
178 ev->next = (ngx_event_t *) ngx_posted_events; | 179 ngx_post_event(ev); |
179 ngx_posted_events = ev; | |
180 | 180 |
181 ngx_mutex_unlock(ngx_posted_events_mutex); | 181 ngx_mutex_unlock(ngx_posted_events_mutex); |
182 } | 182 } |
183 | 183 |
184 return NGX_OK; | 184 return NGX_OK; |
285 { | 285 { |
286 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { | 286 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { |
287 return; | 287 return; |
288 } | 288 } |
289 | 289 |
290 ev->next = (ngx_event_t *) ngx_posted_events; | 290 ngx_post_event(ev); |
291 ngx_posted_events = ev; | |
292 | 291 |
293 ngx_mutex_unlock(ngx_posted_events_mutex); | 292 ngx_mutex_unlock(ngx_posted_events_mutex); |
294 | 293 |
295 ev->event_handler = ngx_event_busy_lock_posted_handler; | 294 ev->event_handler = ngx_event_busy_lock_posted_handler; |
296 } | 295 } |