Mercurial > hg > nginx
comparison src/event/ngx_event_accept.c @ 719:f30b1a75fd3b
Solaris 10 event ports support
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 26 Sep 2006 12:20:12 +0000 |
parents | 698033350558 |
children | 2a92804f4109 |
comparison
equal
deleted
inserted
replaced
718:d488926182ea | 719:f30b1a75fd3b |
---|---|
54 | 54 |
55 if (s == -1) { | 55 if (s == -1) { |
56 err = ngx_socket_errno; | 56 err = ngx_socket_errno; |
57 | 57 |
58 if (err == NGX_EAGAIN) { | 58 if (err == NGX_EAGAIN) { |
59 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ev->log, err, | |
60 "accept() not ready"); | |
59 return; | 61 return; |
60 } | 62 } |
61 | 63 |
62 ngx_log_error((err == NGX_ECONNABORTED) ? NGX_LOG_ERR: | 64 ngx_log_error((err == NGX_ECONNABORTED) ? NGX_LOG_ERR: |
63 NGX_LOG_ALERT, | 65 NGX_LOG_ALERT, |
262 if (ngx_shmtx_trylock(&ngx_accept_mutex)) { | 264 if (ngx_shmtx_trylock(&ngx_accept_mutex)) { |
263 | 265 |
264 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, | 266 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, |
265 "accept mutex locked"); | 267 "accept mutex locked"); |
266 | 268 |
267 if (ngx_accept_mutex_held && !(ngx_event_flags & NGX_USE_RTSIG_EVENT)) { | 269 if (ngx_accept_mutex_held |
270 && ngx_accept_events == 0 | |
271 && !(ngx_event_flags & NGX_USE_RTSIG_EVENT)) | |
272 { | |
268 return NGX_OK; | 273 return NGX_OK; |
269 } | 274 } |
270 | 275 |
271 if (ngx_enable_accept_events(cycle) == NGX_ERROR) { | 276 if (ngx_enable_accept_events(cycle) == NGX_ERROR) { |
272 ngx_shmtx_unlock(&ngx_accept_mutex); | 277 ngx_shmtx_unlock(&ngx_accept_mutex); |
273 return NGX_ERROR; | 278 return NGX_ERROR; |
274 } | 279 } |
275 | 280 |
281 ngx_accept_events = 0; | |
276 ngx_accept_mutex_held = 1; | 282 ngx_accept_mutex_held = 1; |
277 | 283 |
278 return NGX_OK; | 284 return NGX_OK; |
279 } | 285 } |
286 | |
287 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, | |
288 "accept mutex lock failed: %ui", ngx_accept_mutex_held); | |
280 | 289 |
281 if (ngx_accept_mutex_held) { | 290 if (ngx_accept_mutex_held) { |
282 if (ngx_disable_accept_events(cycle) == NGX_ERROR) { | 291 if (ngx_disable_accept_events(cycle) == NGX_ERROR) { |
283 return NGX_ERROR; | 292 return NGX_ERROR; |
284 } | 293 } |