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 }