nginx-0.0.1-2003-02-26-23:21:43 import
diff --git a/src/event/modules/ngx_aio_module.c b/src/event/modules/ngx_aio_module.c
index b18d492..f2d0e83 100644
--- a/src/event/modules/ngx_aio_module.c
+++ b/src/event/modules/ngx_aio_module.c
@@ -1,4 +1,39 @@
+#include <ngx_config.h>
+
+#include <ngx_core.h>
+#include <ngx_types.h>
+#include <ngx_log.h>
+#include <ngx_connection.h>
+#include <ngx_event.h>
+#include <ngx_event_timer.h>
+
+#if (HAVE_KQUEUE)
+#include <ngx_kqueue_module.h>
+#endif
+
+
+int ngx_aio_init(int max_connections, ngx_log_t *log)
+{
+#if (HAVE_KQUEUE)
+
+ int rc;
+
+ rc = ngx_kqueue_init(max_connections, log);
+
+ ngx_event_flags = NGX_HAVE_AIO_EVENT;
+ ngx_write_chain_proc = ngx_aio_write_chain;
+
+ return rc;
+
+#endif
+}
+
+
+
+
+
+#if 0
/* 1 */
int ngx_posix_aio_process_events(ngx_log_t *log)
{
@@ -47,4 +82,4 @@
{
push siginfo->si_value.sival_ptr
}
-
+#endif
diff --git a/src/event/modules/ngx_aio_module.h b/src/event/modules/ngx_aio_module.h
new file mode 100644
index 0000000..71eb9e4
--- /dev/null
+++ b/src/event/modules/ngx_aio_module.h
@@ -0,0 +1,14 @@
+#ifndef _NGX_AIO_MODULE_H_INCLUDED_
+#define _NGX_AIO_MODULE_H_INCLUDED_
+
+
+#include <ngx_types.h>
+#include <ngx_log.h>
+#include <ngx_event.h>
+
+
+int ngx_aio_init(int max_connections, ngx_log_t *log);
+int ngx_aio_process_events(ngx_log_t *log);
+
+
+#endif /* _NGX_AIO_MODULE_H_INCLUDED_ */
diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c
index 501b496..fc0e34f 100644
--- a/src/event/modules/ngx_kqueue_module.c
+++ b/src/event/modules/ngx_kqueue_module.c
@@ -79,6 +79,8 @@
#endif
|NGX_HAVE_KQUEUE_EVENT;
+ ngx_write_chain_proc = ngx_freebsd_write_chain;
+
#endif
#endif
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
index 84e5e29..1310f34 100644
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -25,6 +25,10 @@
#include <ngx_kqueue_module.h>
#endif
+#if (HAVE_AIO)
+#include <ngx_aio_module.h>
+#endif
+
#if (HAVE_IOCP)
#include <ngx_event_acceptex.h>
#include <ngx_iocp_module.h>
@@ -54,6 +58,9 @@
#if (HAVE_KQUEUE)
ngx_kqueue_init,
#endif
+#if (HAVE_AIO)
+ ngx_aio_init,
+#endif
#if (HAVE_IOCP)
ngx_iocp_init
#endif
@@ -83,6 +90,9 @@
ngx_event_type = NGX_DEVPOLL_EVENT_N;
#endif
#if 0
+ ngx_event_type = NGX_AIO_EVENT_N;
+#endif
+#if 0
ngx_event_type = NGX_IOCP_EVENT_N;
#endif
diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h
index 450fbe2..6af76ff 100644
--- a/src/event/ngx_event.h
+++ b/src/event/ngx_event.h
@@ -116,6 +116,9 @@
#if (HAVE_KQUEUE)
NGX_KQUEUE_EVENT_N,
#endif
+#if (HAVE_AIO)
+ NGX_AIO_EVENT_N,
+#endif
#if (HAVE_IOCP)
NGX_IOCP_EVENT_N,
#endif
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c
index 941f57c..65d99da 100644
--- a/src/event/ngx_event_accept.c
+++ b/src/event/ngx_event_accept.c
@@ -156,6 +156,9 @@
#elif (HAVE_KQUEUE)
+/*
+ if (ngx_event_type == NGX_HAVE_AIO_EVENT or NGX_HAVE_KQUEUE_EVENT) {
+*/
if (ngx_event_type == NGX_HAVE_KQUEUE_EVENT) {
ev->available--;
}
diff --git a/src/event/ngx_event_aio_write.c b/src/event/ngx_event_aio_write.c
index 00da4f4..72d35c4 100644
--- a/src/event/ngx_event_aio_write.c
+++ b/src/event/ngx_event_aio_write.c
@@ -5,6 +5,7 @@
#include <ngx_log.h>
#include <ngx_recv.h>
#include <ngx_connection.h>
+#include <ngx_event.h>
#if (HAVE_KQUEUE)
#include <ngx_kqueue_module.h>