diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2003-05-21 13:28:21 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2003-05-21 13:28:21 +0000 |
| commit | fa73aac7747c9d0a8575eb2beffcdab50171e006 (patch) | |
| tree | d1e354f2e321b8f1c4e5518984759bab1ae05ddd /src/event/ngx_event_accept.c | |
| parent | 1c13c662f0ae8066d1d4849b4158d7459a4c7822 (diff) | |
| download | nginx-fa73aac7747c9d0a8575eb2beffcdab50171e006.tar.gz nginx-fa73aac7747c9d0a8575eb2beffcdab50171e006.tar.bz2 | |
nginx-0.0.1-2003-05-21-17:28:21 import
Diffstat (limited to '')
| -rw-r--r-- | src/event/ngx_event_accept.c | 60 |
1 files changed, 18 insertions, 42 deletions
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c index 75dda55c0..76eae62d9 100644 --- a/src/event/ngx_event_accept.c +++ b/src/event/ngx_event_accept.c @@ -65,39 +65,28 @@ void ngx_event_accept(ngx_event_t *ev) return; } - -#if (HAVE_INHERITED_NONBLOCK) - -#if (HAVE_AIO_EVENT) - if ((ngx_event_flags & NGX_HAVE_AIO_EVENT)) { - if (ngx_blocking(s) == -1) { - ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, - ngx_blocking_n " %s failed", ls->addr_text.data); - return; + /* set a blocking mode for aio and non-blocking mode for others */ + + if (ngx_inherited_nonblocking) { + if ((ngx_event_flags & NGX_USE_AIO_EVENT)) { + if (ngx_blocking(s) == -1) { + ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, + ngx_blocking_n " %s failed", + ls->addr_text.data); + return; + } } - } -#endif -#else /* !HAVE_INHERITED_NONBLOCK */ - -#if (HAVE_AIO_EVENT) - if (!(ngx_event_flags & NGX_HAVE_AIO_EVENT)) { - if (ngx_nonblocking(s) == -1) { - ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, - ngx_nonblocking_n " %s failed", ls->addr_text.data); - return; + } else { + if ((ngx_event_flags & NGX_USE_AIO_EVENT) == 0) { + if (ngx_nonblocking(s) == -1) { + ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, + ngx_nonblocking_n " %s failed", + ls->addr_text.data); + return; + } } } -#else - if (ngx_nonblocking(s) == -1) { - ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, - ngx_nonblocking_n " %s failed", ls->addr_text.data); - return; - } -#endif - -#endif /* HAVE_INHERITED_NONBLOCK */ - rev = &ngx_read_events[s]; wev = &ngx_write_events[s]; @@ -130,15 +119,9 @@ void ngx_event_accept(ngx_event_t *ev) c->unexpected_eof = 1; wev->write = 1; -#if (USE_KQUEUE) - wev->ready = 1; -#else if ((ngx_event_flags & NGX_USE_AIO_EVENT) == 0) { wev->ready = 1; } -#endif - - /* STUB ? */ wev->timer = rev->timer = 10000; c->ctx = ls->ctx; c->servers = ls->servers; @@ -174,17 +157,10 @@ void ngx_event_accept(ngx_event_t *ev) ls->handler(c); -#if (USE_KQUEUE) - - ev->available--; - -#elif (HAVE_KQUEUE) - if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) { ev->available--; } -#endif } while (ev->available); return; |
