nginx-0.0.1-2003-05-13-20:02:32 import
diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c
index 0c2ce35..917fe2c 100644
--- a/src/event/modules/ngx_kqueue_module.c
+++ b/src/event/modules/ngx_kqueue_module.c
@@ -343,9 +343,7 @@
case EVFILT_AIO:
ev->ready = 1;
- if (ev->event_handler(ev) == NGX_ERROR) {
- ev->close_handler(ev);
- }
+ ev->event_handler(ev);
break;
diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c
index 23bcc3f..f0f39dd 100644
--- a/src/event/modules/ngx_poll_module.c
+++ b/src/event/modules/ngx_poll_module.c
@@ -251,9 +251,7 @@
}
}
- if (ev->event_handler(ev) == NGX_ERROR) {
- ev->close_handler(ev);
- }
+ ev->event_handler(ev);
}
if (ready != 0) {
diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c
index f325a65..74c790e 100644
--- a/src/event/modules/ngx_select_module.c
+++ b/src/event/modules/ngx_select_module.c
@@ -306,8 +306,7 @@
ngx_select_del_event(ev, NGX_READ_EVENT, 0);
}
- if (ev->event_handler(ev) == NGX_ERROR)
- ev->close_handler(ev);
+ ev->event_handler(ev);
}
if (ready != 0) {
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
index 2dabf60..d3acb4f 100644
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -9,7 +9,6 @@
#include <ngx_listen.h>
#include <ngx_connection.h>
#include <ngx_event.h>
-#include <ngx_event_accept.h>
#include <ngx_select_module.h>
diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h
index bc8cae5..72f4ba9 100644
--- a/src/event/ngx_event.h
+++ b/src/event/ngx_event.h
@@ -28,9 +28,11 @@
struct ngx_event_s {
void *data;
+ void (*event_handler)(ngx_event_t *ev);
- int (*event_handler)(ngx_event_t *ev);
+#if 0
int (*close_handler)(ngx_event_t *ev);
+#endif
void *context;
char *action;
@@ -39,7 +41,9 @@
ngx_event_t *prev; /* queue in mutex(), aio_read(), aio_write() */
ngx_event_t *next; /* */
+#if 0
int (*timer_handler)(ngx_event_t *ev);
+#endif
ngx_event_t *timer_prev;
ngx_event_t *timer_next;
@@ -165,7 +169,7 @@
#define NGX_HAVE_KQUEUE_EVENT 8
/* The event filter supports low water mark - kqueue's NOTE_LOWAT.
- Early kqueue implementations have no NOTE_LOWAT so we need a separate flag */
+ kqueue in FreeBSD 4.1-4.2 has no NOTE_LOWAT so we need a separate flag */
#define NGX_HAVE_LOWAT_EVENT 0x00000010
/* The event filter notifies only the changes (the edges)
@@ -294,6 +298,9 @@
#endif
+void ngx_event_accept(ngx_event_t *ev);
+
+
ssize_t ngx_event_recv_core(ngx_connection_t *c, char *buf, size_t size);
int ngx_event_close_connection(ngx_event_t *ev);
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c
index 411f2b1..26bc2e3 100644
--- a/src/event/ngx_event_accept.c
+++ b/src/event/ngx_event_accept.c
@@ -7,14 +7,9 @@
#include <ngx_log.h>
#include <ngx_connection.h>
#include <ngx_event.h>
-#include <ngx_event_close.h>
-#include <ngx_event_accept.h>
-/* This function should always return NGX_OK even there are some failures
- because if we return NGX_ERROR then listening socket would be closed */
-
-int ngx_event_accept(ngx_event_t *ev)
+void ngx_event_accept(ngx_event_t *ev)
{
int instance;
socklen_t len;
@@ -37,9 +32,16 @@
#endif
do {
- ngx_test_null(pool, ngx_create_pool(ls->pool_size, ev->log), NGX_OK);
+ pool = ngx_create_pool(ls->pool_size, ev->log);
+ if (pool == NULL) {
+ return;
+ }
- ngx_test_null(sa, ngx_palloc(pool, ls->socklen), NGX_OK);
+ sa = ngx_palloc(pool, ls->socklen);
+ if (sa == NULL) {
+ return;
+ }
+
len = ls->socklen;
s = accept(ls->fd, sa, &len);
@@ -50,12 +52,12 @@
if (err == NGX_EAGAIN) {
ngx_log_error(NGX_LOG_NOTICE, ev->log, err,
"EAGAIN while accept %s", ls->addr_text.data);
- return NGX_OK;
+ return;
}
ngx_log_error(NGX_LOG_ALERT, ev->log, err,
"accept %s failed", ls->addr_text.data);
- return NGX_OK;
+ return;
}
@@ -66,7 +68,7 @@
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 NGX_OK;
+ return;
}
}
#endif
@@ -78,14 +80,14 @@
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 NGX_OK;
+ 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 NGX_OK;
+ return;
}
#endif
@@ -133,13 +135,13 @@
/* STUB ? */ wev->timer = rev->timer = 10000;
- wev->timer_handler = rev->timer_handler = ngx_event_close_connection;
- wev->close_handler = rev->close_handler = ngx_event_close_connection;
-
c->ctx = ls->ctx;
c->servers = ls->servers;
- ngx_test_null(c->log, ngx_palloc(c->pool, sizeof(ngx_log_t)), NGX_OK);
+ c->log = ngx_palloc(c->pool, sizeof(ngx_log_t));
+ if (c->log == NULL) {
+ return;
+ }
ngx_memcpy(c->log, ev->log, sizeof(ngx_log_t));
rev->log = wev->log = c->log;
@@ -159,7 +161,7 @@
if (ngx_event_flags & NGX_HAVE_EDGE_EVENT) {
if (ngx_edge_add_event(ev) == NGX_ERROR) {
- return NGX_OK;
+ return;
}
}
@@ -183,5 +185,5 @@
#endif
} while (ev->available);
- return NGX_OK;
+ return;
}
diff --git a/src/event/ngx_event_accept.h b/src/event/ngx_event_accept.h
deleted file mode 100644
index 7596c6e..0000000
--- a/src/event/ngx_event_accept.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _NGX_EVENT_ACCEPT_H_INCLUDED_
-#define _NGX_EVENT_ACCEPT_H_INCLUDED_
-
-
-#include <ngx_event.h>
-
-int ngx_event_accept(ngx_event_t *ev);
-
-
-#endif /* _NGX_EVENT_ACCEPT_H_INCLUDED_ */
diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c
index f32ce47..b5dfdf9 100644
--- a/src/event/ngx_event_timer.c
+++ b/src/event/ngx_event_timer.c
@@ -136,9 +136,7 @@
ev->timedout = 1;
}
- if (ev->event_handler(ev) == NGX_ERROR) {
- ev->close_handler(ev);
- }
+ ev->event_handler(ev);
}
}
}