diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2006-09-26 12:20:12 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2006-09-26 12:20:12 +0000 |
| commit | 4524fb0dcda00c32732132cfefb263f8fa9919df (patch) | |
| tree | e3746564dc5428cf2630c403fc1615d2f693e9cb /src/event/ngx_event_accept.c | |
| parent | 4c804591c1a917ec301dcb1a9d32a61f756b6f8a (diff) | |
| download | nginx-4524fb0dcda00c32732132cfefb263f8fa9919df.tar.gz nginx-4524fb0dcda00c32732132cfefb263f8fa9919df.tar.bz2 | |
Solaris 10 event ports support
Diffstat (limited to 'src/event/ngx_event_accept.c')
| -rw-r--r-- | src/event/ngx_event_accept.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c index 96671303b..127a4f2cc 100644 --- a/src/event/ngx_event_accept.c +++ b/src/event/ngx_event_accept.c @@ -56,6 +56,8 @@ ngx_event_accept(ngx_event_t *ev) err = ngx_socket_errno; if (err == NGX_EAGAIN) { + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ev->log, err, + "accept() not ready"); return; } @@ -264,7 +266,10 @@ ngx_trylock_accept_mutex(ngx_cycle_t *cycle) ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "accept mutex locked"); - if (ngx_accept_mutex_held && !(ngx_event_flags & NGX_USE_RTSIG_EVENT)) { + if (ngx_accept_mutex_held + && ngx_accept_events == 0 + && !(ngx_event_flags & NGX_USE_RTSIG_EVENT)) + { return NGX_OK; } @@ -273,11 +278,15 @@ ngx_trylock_accept_mutex(ngx_cycle_t *cycle) return NGX_ERROR; } + ngx_accept_events = 0; ngx_accept_mutex_held = 1; return NGX_OK; } + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, + "accept mutex lock failed: %ui", ngx_accept_mutex_held); + if (ngx_accept_mutex_held) { if (ngx_disable_accept_events(cycle) == NGX_ERROR) { return NGX_ERROR; |
