comparison src/event/ngx_event_accept.c @ 302:1526e7686b20

nginx-0.0.3-2004-04-01-10:21:13 import
author Igor Sysoev <igor@sysoev.ru>
date Thu, 01 Apr 2004 06:21:13 +0000
parents 744965ec6275
children 00c5660d2707
comparison
equal deleted inserted replaced
301:744965ec6275 302:1526e7686b20
12 12
13 13
14 static size_t ngx_accept_log_error(void *data, char *buf, size_t len); 14 static size_t ngx_accept_log_error(void *data, char *buf, size_t len);
15 15
16 16
17 ngx_atomic_t *ngx_accept_mutex_ptr;
17 ngx_atomic_t *ngx_accept_mutex; 18 ngx_atomic_t *ngx_accept_mutex;
18 ngx_uint_t ngx_accept_token; 19 ngx_uint_t ngx_accept_mutex_held;
19 20
20 21
21 void ngx_event_accept(ngx_event_t *ev) 22 void ngx_event_accept(ngx_event_t *ev)
22 { 23 {
23 ngx_uint_t instance, rinstance, winstance, accepted; 24 ngx_uint_t instance, rinstance, winstance, accepted;
309 if (*ngx_accept_mutex == 0 && ngx_atomic_cmp_set(ngx_accept_mutex, 0, 1)) { 310 if (*ngx_accept_mutex == 0 && ngx_atomic_cmp_set(ngx_accept_mutex, 0, 1)) {
310 311
311 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, 312 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
312 "accept mutex locked"); 313 "accept mutex locked");
313 314
314 if (!ngx_accept_token) { 315 if (!ngx_accept_mutex_held) {
315 if (ngx_enable_accept_events(cycle) == NGX_ERROR) { 316 if (ngx_enable_accept_events(cycle) == NGX_ERROR) {
317 *ngx_accept_mutex = 0;
316 return NGX_ERROR; 318 return NGX_ERROR;
317 } 319 }
318 320
319 ngx_accept_token = 1; 321 ngx_accept_mutex_held = 1;
320 } 322 }
321 323
322 return NGX_OK; 324 return NGX_OK;
323 } 325 }
324 326
325 if (ngx_accept_token) { 327 if (ngx_accept_mutex_held) {
326 if (ngx_disable_accept_events(cycle) == NGX_ERROR) { 328 if (ngx_disable_accept_events(cycle) == NGX_ERROR) {
327 return NGX_ERROR; 329 return NGX_ERROR;
328 } 330 }
329 331
330 ngx_accept_token = 0; 332 ngx_accept_mutex_held = 0;
331 } 333 }
332 334
333 return NGX_OK; 335 return NGX_OK;
334 } 336 }
335 337