summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_acceptex.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-06-06 14:59:20 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-06-06 14:59:20 +0000
commite4a2526e5ccd4f3f5f160656c1a7b6f865ac44c8 (patch)
treebfa99dbe2be9b41364c325bf1d990958c93247f8 /src/event/ngx_event_acceptex.c
parent9cf783074fd7793ebb6859e7f62b054d79074efe (diff)
downloadnginx-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.c30
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;
}