summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_accept.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2006-09-26 12:20:12 +0000
committerIgor Sysoev <igor@sysoev.ru>2006-09-26 12:20:12 +0000
commit4524fb0dcda00c32732132cfefb263f8fa9919df (patch)
treee3746564dc5428cf2630c403fc1615d2f693e9cb /src/event/ngx_event_accept.c
parent4c804591c1a917ec301dcb1a9d32a61f756b6f8a (diff)
downloadnginx-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.c11
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;