diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2003-06-06 14:59:20 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2003-06-06 14:59:20 +0000 |
| commit | e4a2526e5ccd4f3f5f160656c1a7b6f865ac44c8 (patch) | |
| tree | bfa99dbe2be9b41364c325bf1d990958c93247f8 /src/event/ngx_event_acceptex.c | |
| parent | 9cf783074fd7793ebb6859e7f62b054d79074efe (diff) | |
| download | nginx-e4a2526e5ccd4f3f5f160656c1a7b6f865ac44c8.tar.gz nginx-e4a2526e5ccd4f3f5f160656c1a7b6f865ac44c8.tar.bz2 | |
nginx-0.0.1-2003-06-06-18:59:20 import
Diffstat (limited to 'src/event/ngx_event_acceptex.c')
| -rw-r--r-- | src/event/ngx_event_acceptex.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/event/ngx_event_acceptex.c b/src/event/ngx_event_acceptex.c index 288fd2b43..8ba56f3d7 100644 --- a/src/event/ngx_event_acceptex.c +++ b/src/event/ngx_event_acceptex.c @@ -5,37 +5,36 @@ #include <ngx_listen.h> #include <ngx_event.h> +#if 0 #include <ngx_event_close.h> #include <ngx_iocp_module.h> +#endif -#include <ngx_event_acceptex.h> - - -void ngx_event_acceptex(ngx_event_t *ev) +void ngx_event_acceptex(ngx_event_t *rev) { ngx_connection_t *c; - c = (ngx_connection_t *) ev->data; + c = (ngx_connection_t *) rev->data; - if (ev->ovlp.error) { - ngx_log_error(NGX_LOG_CRIT, ev->log, ev->ovlp.error, - "AcceptEx() falied for %s", c->addr_text.data); +ngx_log_debug(rev->log, "ADDR: %s" _ c->addr_text.data); + + if (rev->ovlp.error) { + ngx_log_error(NGX_LOG_CRIT, rev->log, rev->ovlp.error, + "AcceptEx() failed for %s", c->addr_text.data); return; } - /* TODO: can we do SO_UPDATE_ACCEPT_CONTEXT just before shutdown() ??? - or AcceptEx's context will be lost ??? */ + /* SO_UPDATE_ACCEPT_CONTEXT is required for shutdown() to work */ - /* SO_UPDATE_ACCEPT_CONTEXT is required for shutdown() to work */ if (setsockopt(c->fd, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, (char *)&c->listening->fd, sizeof(ngx_socket_t)) == -1) { ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_socket_errno, "setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed for %s", c->addr_text.data); - - /* non fatal - we can not only do lingering close */ + } else { + accept_context_updated = 1; } getacceptexsockaddrs(c->data, 0, @@ -75,8 +74,7 @@ int ngx_event_post_acceptex(ngx_listen_t *ls, int n) if (s == -1) { ngx_log_error(NGX_LOG_ALERT, ls->log, ngx_socket_errno, - ngx_socket_n " for AcceptEx(%s) falied", - ls->addr_text.data); + ngx_socket_n " for AcceptEx() post failed"); return NGX_ERROR; } @@ -132,7 +130,7 @@ int ngx_event_post_acceptex(ngx_listen_t *ls, int n) ngx_memcpy(c->log, ls->log, sizeof(ngx_log_t)); rev->log = wev->log = c->log; - if (ngx_iocp_add_event(rev) == NGX_ERROR) { + if (ngx_add_event(rev, 0, NGX_IOCP_IO) == NGX_ERROR) { return NGX_ERROR; } |
