summaryrefslogtreecommitdiffhomepage
path: root/src/event
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-09-28 08:34:51 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-09-28 08:34:51 +0000
commitd90282d8ba69973d6612c405e52636085623ddcd (patch)
tree59e36e780b2f5b8f9348013d3037f8fc06ba0247 /src/event
parent6d2a14aa906b1d576d5151b2410b59cfcab5edd4 (diff)
downloadnginx-d90282d8ba69973d6612c405e52636085623ddcd.tar.gz
nginx-d90282d8ba69973d6612c405e52636085623ddcd.tar.bz2
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Diffstat (limited to 'src/event')
-rw-r--r--src/event/modules/ngx_aio_module.c5
-rw-r--r--src/event/modules/ngx_aio_module.h6
-rw-r--r--src/event/modules/ngx_devpoll_module.c2
-rw-r--r--src/event/modules/ngx_epoll_module.c2
-rw-r--r--src/event/modules/ngx_iocp_module.c2
-rw-r--r--src/event/modules/ngx_iocp_module.h6
-rw-r--r--src/event/modules/ngx_kqueue_module.c2
-rw-r--r--src/event/modules/ngx_kqueue_module.h6
-rw-r--r--src/event/modules/ngx_overlapped_module.c41
-rw-r--r--src/event/modules/ngx_poll_module.c2
-rw-r--r--src/event/modules/ngx_rtsig_module.c2
-rw-r--r--src/event/modules/ngx_select_module.c2
-rw-r--r--src/event/ngx_event.c5
-rw-r--r--src/event/ngx_event.h6
-rw-r--r--src/event/ngx_event_accept.c5
-rw-r--r--src/event/ngx_event_acceptex.c5
-rw-r--r--src/event/ngx_event_aio_read.c113
-rw-r--r--src/event/ngx_event_aio_write.c116
-rw-r--r--src/event/ngx_event_busy_lock.c5
-rw-r--r--src/event/ngx_event_busy_lock.h6
-rw-r--r--src/event/ngx_event_connect.c5
-rw-r--r--src/event/ngx_event_connect.h6
-rw-r--r--src/event/ngx_event_connectex.c5
-rw-r--r--src/event/ngx_event_mutex.c5
-rw-r--r--src/event/ngx_event_openssl.c5
-rw-r--r--src/event/ngx_event_openssl.h6
-rw-r--r--src/event/ngx_event_pipe.c20
-rw-r--r--src/event/ngx_event_pipe.h6
-rw-r--r--src/event/ngx_event_posted.c5
-rw-r--r--src/event/ngx_event_posted.h6
-rw-r--r--src/event/ngx_event_recv.c147
-rw-r--r--src/event/ngx_event_thread.c129
-rw-r--r--src/event/ngx_event_timer.c5
-rw-r--r--src/event/ngx_event_timer.h6
-rw-r--r--src/event/ngx_event_wsarecv.c97
35 files changed, 137 insertions, 655 deletions
diff --git a/src/event/modules/ngx_aio_module.c b/src/event/modules/ngx_aio_module.c
index 7f9a22cec..c62e1d501 100644
--- a/src/event/modules/ngx_aio_module.c
+++ b/src/event/modules/ngx_aio_module.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/modules/ngx_aio_module.h b/src/event/modules/ngx_aio_module.h
index 71eb9e4d7..80bd39396 100644
--- a/src/event/modules/ngx_aio_module.h
+++ b/src/event/modules/ngx_aio_module.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_AIO_MODULE_H_INCLUDED_
#define _NGX_AIO_MODULE_H_INCLUDED_
diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c
index 3706e0159..ee29a72a8 100644
--- a/src/event/modules/ngx_devpoll_module.c
+++ b/src/event/modules/ngx_devpoll_module.c
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
*/
diff --git a/src/event/modules/ngx_epoll_module.c b/src/event/modules/ngx_epoll_module.c
index ebe2cabfe..ace4cf344 100644
--- a/src/event/modules/ngx_epoll_module.c
+++ b/src/event/modules/ngx_epoll_module.c
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
*/
diff --git a/src/event/modules/ngx_iocp_module.c b/src/event/modules/ngx_iocp_module.c
index 5273152ed..5d1d75849 100644
--- a/src/event/modules/ngx_iocp_module.c
+++ b/src/event/modules/ngx_iocp_module.c
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
*/
diff --git a/src/event/modules/ngx_iocp_module.h b/src/event/modules/ngx_iocp_module.h
index a1c1efd3d..b55b489d3 100644
--- a/src/event/modules/ngx_iocp_module.h
+++ b/src/event/modules/ngx_iocp_module.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_IOCP_MODULE_H_INCLUDED_
#define _NGX_IOCP_MODULE_H_INCLUDED_
diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c
index a1d6f5907..f8cdcd8d7 100644
--- a/src/event/modules/ngx_kqueue_module.c
+++ b/src/event/modules/ngx_kqueue_module.c
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
*/
diff --git a/src/event/modules/ngx_kqueue_module.h b/src/event/modules/ngx_kqueue_module.h
index ab1a12b9c..0ea98624d 100644
--- a/src/event/modules/ngx_kqueue_module.h
+++ b/src/event/modules/ngx_kqueue_module.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_KQUEUE_MODULE_H_INCLUDED_
#define _NGX_KQUEUE_MODULE_H_INCLUDED_
diff --git a/src/event/modules/ngx_overlapped_module.c b/src/event/modules/ngx_overlapped_module.c
deleted file mode 100644
index c3af39dce..000000000
--- a/src/event/modules/ngx_overlapped_module.c
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
- event = WSACreateEvent(void);
- WSAEventSelect(s, event, FD_ACCEPT);
-
-
-int ngx_overlapped_process_events(ngx_log_t *log)
-{
- if (acceptex)
- n = SleepEx(timer, 1);
- else
- n = WSAWaitForMultipleEvents(nevents, events, 0, timer, 1);
-
- if (n == WSA_WAIT_TIMEOUT)
- close some event;
-
- if (n == WSA_IO_COMPLETION)
- again
-
- /* try it with AcceptEx() on NT to detect connected sockets */
- if (!acceptex) {
- WSAEnumNetworkEvents(
- sockets[n - WSA_WAIT_EVENT_0],
- events[n - WSA_WAIT_EVENT_0],
- net_events);
-
- if (net_events.lNetworkEvents & FD_ACCEPT) {
- if (net_events.iErrorCode[FD_ACCEPT_BIT] != 0)
- accept error
- again
-
- ngx_event_accept(); OR post AcceptEx();
- }
- }
-}
-
-void CALLBACK overlapped_completion_procedure(DWORD error, DWORD nbytes,
- LPWSAOVERLAPPED overlapped, DWORD flags)
-{
- run event handler
-}
diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c
index 7c23f5fb1..eefc3a928 100644
--- a/src/event/modules/ngx_poll_module.c
+++ b/src/event/modules/ngx_poll_module.c
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
*/
diff --git a/src/event/modules/ngx_rtsig_module.c b/src/event/modules/ngx_rtsig_module.c
index 6a83e9c1b..995ae322e 100644
--- a/src/event/modules/ngx_rtsig_module.c
+++ b/src/event/modules/ngx_rtsig_module.c
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
*/
diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c
index 56b50cdf9..d441fbeeb 100644
--- a/src/event/modules/ngx_select_module.c
+++ b/src/event/modules/ngx_select_module.c
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
*/
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
index a2e275b92..6328bf184 100644
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h
index 9e41fed86..b492a65fd 100644
--- a/src/event/ngx_event.h
+++ b/src/event/ngx_event.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_EVENT_H_INCLUDED_
#define _NGX_EVENT_H_INCLUDED_
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c
index 9ab04310c..9044c44ce 100644
--- a/src/event/ngx_event_accept.c
+++ b/src/event/ngx_event_accept.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_acceptex.c b/src/event/ngx_event_acceptex.c
index d6388994b..0cd74dee5 100644
--- a/src/event/ngx_event_acceptex.c
+++ b/src/event/ngx_event_acceptex.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_aio_read.c b/src/event/ngx_event_aio_read.c
deleted file mode 100644
index 4561cf4bf..000000000
--- a/src/event/ngx_event_aio_read.c
+++ /dev/null
@@ -1,113 +0,0 @@
-
-#include <ngx_config.h>
-#include <ngx_core.h>
-#include <ngx_errno.h>
-#include <ngx_log.h>
-#include <ngx_recv.h>
-#include <ngx_connection.h>
-#include <ngx_event.h>
-
-#if (HAVE_KQUEUE)
-#include <ngx_kqueue_module.h>
-#endif
-
-
-/*
- The data is ready - 3 syscalls:
- aio_read(), aio_error(), aio_return()
- The data is not ready - 4 (kqueue) or 5 syscalls:
- aio_read(), aio_error(), notifiction,
- aio_error(), aio_return()
- aio_cancel(), aio_error()
-*/
-
-ssize_t ngx_event_aio_read(ngx_connection_t *c, char *buf, size_t size)
-{
- int rc, first, canceled;
- ngx_event_t *ev;
-
- ev = c->read;
-
- canceled = 0;
-
- if (ev->timedout) {
- ngx_set_socket_errno(NGX_ETIMEDOUT);
- ngx_log_error(NGX_LOG_ERR, ev->log, 0, "aio_read() timed out");
-
- rc = aio_cancel(c->fd, &ev->aiocb);
- if (rc == -1) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_errno,
- "aio_cancel() failed");
- return NGX_ERROR;
- }
-
- ngx_log_debug(ev->log, "aio_cancel: %d" _ rc);
-
- canceled = 1;
-
- ev->ready = 1;
- }
-
- first = 0;
-
- if (!ev->ready) {
- ngx_memzero(&ev->aiocb, sizeof(struct aiocb));
-
- ev->aiocb.aio_fildes = c->fd;
- ev->aiocb.aio_buf = buf;
- ev->aiocb.aio_nbytes = size;
-
-#if (HAVE_KQUEUE)
- ev->aiocb.aio_sigevent.sigev_notify_kqueue = kq;
- ev->aiocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
- ev->aiocb.aio_sigevent.sigev_value.sigval_ptr = ev;
-#endif
-
- if (aio_read(&ev->aiocb) == -1) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_errno,
- "aio_read() failed");
- return NGX_ERROR;
- }
-
- ngx_log_debug(ev->log, "aio_read: OK");
-
- ev->active = 1;
- first = 1;
- }
-
- ev->ready = 0;
-
- rc = aio_error(&ev->aiocb);
- if (rc == -1) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_errno, "aio_error() failed");
- return NGX_ERROR;
- }
-
- if (rc != 0) {
- if (rc == NGX_EINPROGRESS) {
- if (!first) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, rc,
- "aio_read() still in progress");
- }
- return NGX_AGAIN;
- }
-
- if (rc == NGX_ECANCELED && canceled) {
- return NGX_ERROR;
- }
-
- ngx_log_error(NGX_LOG_CRIT, ev->log, rc, "aio_read() failed");
- return NGX_ERROR;
- }
-
- rc = aio_return(&ev->aiocb);
- if (rc == -1) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_errno, "aio_return() failed");
-
- return NGX_ERROR;
- }
-
- ngx_log_debug(ev->log, "aio_read: %d" _ rc);
-
- return rc;
-}
diff --git a/src/event/ngx_event_aio_write.c b/src/event/ngx_event_aio_write.c
deleted file mode 100644
index 72d35c412..000000000
--- a/src/event/ngx_event_aio_write.c
+++ /dev/null
@@ -1,116 +0,0 @@
-
-#include <ngx_config.h>
-#include <ngx_core.h>
-#include <ngx_errno.h>
-#include <ngx_log.h>
-#include <ngx_recv.h>
-#include <ngx_connection.h>
-#include <ngx_event.h>
-
-#if (HAVE_KQUEUE)
-#include <ngx_kqueue_module.h>
-#endif
-
-
-/*
- The data is ready - 3 syscalls:
- aio_write(), aio_error(), aio_return()
- The data is not ready - 4 (kqueue) or 5 syscalls:
- aio_write(), aio_error(), notifiction,
- aio_error(), aio_return()
- aio_cancel(), aio_error()
-*/
-
-ssize_t ngx_event_aio_write(ngx_connection_t *c, char *buf, size_t size)
-{
- int rc, first, canceled;
- ngx_event_t *ev;
-
- ev = c->write;
-
- canceled = 0;
-
-ngx_log_debug(ev->log, "aio: ev->ready: %d" _ ev->ready);
-ngx_log_debug(ev->log, "aio: aiocb: %08x" _ &ev->aiocb);
-
- if (ev->timedout) {
- ngx_set_socket_errno(NGX_ETIMEDOUT);
- ngx_log_error(NGX_LOG_ERR, ev->log, 0, "aio_write() timed out");
-
- rc = aio_cancel(c->fd, &ev->aiocb);
- if (rc == -1) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_errno,
- "aio_cancel() failed");
- return NGX_ERROR;
- }
-
- ngx_log_debug(ev->log, "aio_cancel: %d" _ rc);
-
- canceled = 1;
-
- ev->ready = 1;
- }
-
- first = 0;
-
- if (!ev->ready) {
- ngx_memzero(&ev->aiocb, sizeof(struct aiocb));
-
- ev->aiocb.aio_fildes = c->fd;
- ev->aiocb.aio_buf = buf;
- ev->aiocb.aio_nbytes = size;
-
-#if (HAVE_KQUEUE)
- ev->aiocb.aio_sigevent.sigev_notify_kqueue = kq;
- ev->aiocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
- ev->aiocb.aio_sigevent.sigev_value.sigval_ptr = ev;
-#endif
-
- if (aio_write(&ev->aiocb) == -1) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_errno,
- "aio_write() failed");
- return NGX_ERROR;
- }
-
- ngx_log_debug(ev->log, "aio_write: OK");
-
- ev->active = 1;
- first = 1;
- }
-
- ev->ready = 0;
-
- rc = aio_error(&ev->aiocb);
- if (rc == -1) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_errno, "aio_error() failed");
- return NGX_ERROR;
- }
-
- if (rc != 0) {
- if (rc == NGX_EINPROGRESS) {
- if (!first) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, rc,
- "aio_write() still in progress");
- }
- return NGX_AGAIN;
- }
-
- if (rc == NGX_ECANCELED && canceled) {
- return NGX_ERROR;
- }
-
- ngx_log_error(NGX_LOG_CRIT, ev->log, rc, "aio_write() failed");
- return NGX_ERROR;
- }
-
- rc = aio_return(&ev->aiocb);
- if (rc == -1) {
- ngx_log_error(NGX_LOG_CRIT, ev->log, ngx_errno, "aio_return() failed");
-
- return NGX_ERROR;
- }
-
- ngx_log_debug(ev->log, "aio_write: %d" _ rc);
-
- return rc;
-}
diff --git a/src/event/ngx_event_busy_lock.c b/src/event/ngx_event_busy_lock.c
index a4db7f94b..e3dd41ae9 100644
--- a/src/event/ngx_event_busy_lock.c
+++ b/src/event/ngx_event_busy_lock.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_busy_lock.h b/src/event/ngx_event_busy_lock.h
index 3862c6f01..2f9907349 100644
--- a/src/event/ngx_event_busy_lock.h
+++ b/src/event/ngx_event_busy_lock.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_EVENT_BUSY_LOCK_H_INCLUDED_
#define _NGX_EVENT_BUSY_LOCK_H_INCLUDED_
diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c
index f0fb691d0..ad2148538 100644
--- a/src/event/ngx_event_connect.c
+++ b/src/event/ngx_event_connect.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_connect.h b/src/event/ngx_event_connect.h
index 8a3e17fdf..5493b623b 100644
--- a/src/event/ngx_event_connect.h
+++ b/src/event/ngx_event_connect.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_EVENT_CONNECT_H_INCLUDED_
#define _NGX_EVENT_CONNECT_H_INCLUDED_
diff --git a/src/event/ngx_event_connectex.c b/src/event/ngx_event_connectex.c
index ed1228384..7cb7c31f3 100644
--- a/src/event/ngx_event_connectex.c
+++ b/src/event/ngx_event_connectex.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_mutex.c b/src/event/ngx_event_mutex.c
index 4f83e4865..b77c389b9 100644
--- a/src/event/ngx_event_mutex.c
+++ b/src/event/ngx_event_mutex.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c
index 0116787a2..bbc185f7e 100644
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_openssl.h b/src/event/ngx_event_openssl.h
index 6c28ba5a7..5e3faa39f 100644
--- a/src/event/ngx_event_openssl.h
+++ b/src/event/ngx_event_openssl.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_EVENT_OPENSSL_H_INCLUDED_
#define _NGX_EVENT_OPENSSL_H_INCLUDED_
diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c
index e324a230a..8e2094bc6 100644
--- a/src/event/ngx_event_pipe.c
+++ b/src/event/ngx_event_pipe.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
@@ -656,8 +661,12 @@ ngx_inline static void ngx_event_pipe_remove_shadow_links(ngx_buf_t *buf)
#if 0
b->type &= ~(NGX_HUNK_TEMP|NGX_HUNK_IN_MEMORY|NGX_HUNK_RECYCLED);
#endif
- b->temporary = 0;
- b->recycled = 0;
+ b->in_file = 0;
+ b->temp_file = 0;
+ b->flush = 0;
+ b->zerocopy_busy = 0;
+ b->last_shadow = 0;
+
b->shadow = NULL;
b = next;
}
@@ -669,9 +678,10 @@ ngx_inline static void ngx_event_pipe_remove_shadow_links(ngx_buf_t *buf)
|NGX_HUNK_LAST_SHADOW);
#endif
- b->temporary = 0;
- b->recycled = 0;
- b->last_shadow = 0;
+ b->in_file = 0;
+ b->temp_file = 0;
+ b->flush = 0;
+ b->zerocopy_busy = 0;
b->shadow = NULL;
diff --git a/src/event/ngx_event_pipe.h b/src/event/ngx_event_pipe.h
index e85fc6170..f6430f946 100644
--- a/src/event/ngx_event_pipe.h
+++ b/src/event/ngx_event_pipe.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_EVENT_PIPE_H_INCLUDED_
#define _NGX_EVENT_PIPE_H_INCLUDED_
diff --git a/src/event/ngx_event_posted.c b/src/event/ngx_event_posted.c
index 835c73f74..31fa1fe1d 100644
--- a/src/event/ngx_event_posted.c
+++ b/src/event/ngx_event_posted.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_posted.h b/src/event/ngx_event_posted.h
index 5a3039357..055bec328 100644
--- a/src/event/ngx_event_posted.h
+++ b/src/event/ngx_event_posted.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_EVENT_POSTED_H_INCLUDED_
#define _NGX_EVENT_POSTED_H_INCLUDED_
diff --git a/src/event/ngx_event_recv.c b/src/event/ngx_event_recv.c
deleted file mode 100644
index c083e8f61..000000000
--- a/src/event/ngx_event_recv.c
+++ /dev/null
@@ -1,147 +0,0 @@
-
-#include <ngx_config.h>
-#include <ngx_core.h>
-#include <ngx_errno.h>
-#include <ngx_log.h>
-#include <ngx_recv.h>
-#include <ngx_connection.h>
-
-ssize_t ngx_event_recv_core(ngx_connection_t *c, char *buf, size_t size)
-{
- ssize_t n;
- ngx_err_t err;
- ngx_event_t *ev;
-
- ev = c->read;
-
-/* DEBUG */
-#if (HAVE_KQUEUE)
- if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) {
- ngx_log_debug(c->log, "ngx_event_recv: eof:%d, avail:%d, err:%d" _
- ev->eof _ ev->available _ ev->error);
- }
-#endif
-
-#if (USE_KQUEUE)
-
- if (ev->eof && ev->available == 0) {
-
- if (ev->error == 0) {
- return 0;
- }
-
- ngx_set_socket_errno(ev->error);
- err = ev->error;
- n = -1;
-
- } else {
- n = ngx_recv(c->fd, buf, size, 0);
-
- if (n == -1) {
- err = ngx_socket_errno;
- }
- }
-
- if (n == -1) {
- ev->ready = 0;
-
- if (err == NGX_ECONNRESET && ev->ignore_econnreset) {
- return 0;
- }
-
- if (err == NGX_EAGAIN) {
- ngx_log_error(NGX_LOG_INFO, c->log, err, "recv() returned EAGAIN");
- return NGX_AGAIN;
- }
-
- ngx_log_error(NGX_LOG_ERR, c->log, err, "recv() failed");
- return NGX_ERROR;
- }
-
- ev->available -= n;
- if (ev->available == 0) {
- ev->ready = 0;
- }
-
- return n;
-
-#elif (HAVE_KQUEUE)
-
- if ((ngx_event_flags & NGX_HAVE_KQUEUE_EVENT)
- && ev->eof && ev->available == 0) {
-
- if (ev->error == 0) {
- return 0;
- }
-
- ngx_set_socket_errno(ev->error);
- err = ev->error;
- n = -1;
-
- } else {
- n = ngx_recv(c->fd, buf, size, 0);
-ngx_log_debug(c->log, "ngx_event_recv: read:%d:%d" _ n _ size);
-
- if (n == -1) {
- err = ngx_socket_errno;
- }
- }
-
- if (n == -1) {
- ev->ready = 0;
-
- if (err == NGX_ECONNRESET && ev->ignore_econnreset) {
- return 0;
- }
-
- if (err == NGX_EAGAIN) {
- ngx_log_error(NGX_LOG_INFO, c->log, err, "recv() returned EAGAIN");
- return NGX_AGAIN;
- }
-
- ngx_log_error(NGX_LOG_ERR, c->log, err, "recv() failed");
- return NGX_ERROR;
- }
-
- if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) {
- ev->available -= n;
- if (ev->available == 0) {
- ev->ready = 0;
- }
-
- } else if ((size_t) n < size) {
- ev->ready = 0;
- }
-
- return n;
-
-#else /* not kqueue */
-
- n = ngx_recv(c->fd, buf, size, 0);
-
- if (n == -1) {
- err = ngx_socket_errno;
-
- ev->ready = 0;
-
- if (err == NGX_ECONNRESET && ev->ignore_econnreset) {
- return 0;
- }
-
- if (err == NGX_EAGAIN) {
- ngx_log_error(NGX_LOG_INFO, c->log, err, "recv() returned EAGAIN");
- return NGX_AGAIN;
- }
-
- ngx_log_error(NGX_LOG_ERR, c->log, err, "recv() failed");
- return NGX_ERROR;
- }
-
- if ((size_t) n < size) {
- ev->ready = 0;
- }
-
- return n;
-
-#endif
-}
diff --git a/src/event/ngx_event_thread.c b/src/event/ngx_event_thread.c
deleted file mode 100644
index 527b49cd0..000000000
--- a/src/event/ngx_event_thread.c
+++ /dev/null
@@ -1,129 +0,0 @@
-
-volitile int ngx_last_posted_event;
-
-
-typedef struct {
- ngx_tid_t tid;
- ngx_cv_t cv;
-} ngx_thread_data_t;
-
-static ngx_thread_data_t *threead_data;
-
-
-
-
-
-{
-
- err = ngx_thread_cond_wait(ngx_thread_data_cv, ngx_thread_data_mutex);
-
- tid = ngx_thread_self();
-
- for (i = 0; i < thread_data_n; i++) {
- if (thread_data[i].tid == tid) {
- cv = thread_data[i].cv;
- break;
- }
- }
-
- if (i == thread_data_n) {
- error
- return
- }
-
-
- for ( ;; ) {
-
- err = ngx_thread_cond_wait(cv, ngx_posted_events_mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_cond_wait_n " failed, thread is exiting");
- return;
- }
-
- for ( ;; ) {
- ev = NULL;
-
- for (i = ngx_last_posted_event; i > 0; i--) {
- ev = ngx_posted_events[i];
-
- if (ev == NULL) {
- continue;
- }
-
- err = ngx_thread_mutex_trylock(ev->mutex);
-
- if (err == 0) {
- ngx_posted_events[i] = NULL;
-
- while (ngx_posted_events[ngx_last_posted_event] == NULL) {
- ngx_last_posted_event--;
- }
-
- break;
- }
-
- if (err == NGX_EBUSY) {
- ev = NULL;
- continue;
- }
-
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_unlock_n " failed,
- thread is exiting");
-
- ngx_worker_thread_error();
- return;
- }
-
- err = ngx_thread_mutex_unlock(ngx_posted_events_mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_unlock_n
- " failed, thread exiting");
- return;
- }
-
- if (ev == NULL) {
- break;
- }
-
- ngx_event_handle_event(ev);
-
- err = ngx_thread_mutex_unlock(ev->mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_unlock_n
- " failed, thread exiting");
-
- ngx_worker_thread_error();
- return;
- }
-
- err = ngx_thread_mutex_lock(ngx_posted_events_mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_lock_n
- " failed, thread exiting");
- return;
- }
- }
-
- if (restart) {
- ngx_log_error(NGX_INFO, log, 0, "thread is exiting");
- return;
- }
- }
-}
-
-ngx_worker_thread_error()
-{
- ngx_err_t err;
-
- err = ngx_thread_mutex_unlock(ngx_posted_events_mutex);
- if (err) {
- ngx_log_error(NGX_ALERT, log, err,
- ngx_thread_mutex_unlock_n
- " failed, thread exiting");
- }
-}
diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c
index 5b0c871b0..0fbf66e9c 100644
--- a/src/event/ngx_event_timer.c
+++ b/src/event/ngx_event_timer.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h
index 0ff640539..fb9bc2894 100644
--- a/src/event/ngx_event_timer.h
+++ b/src/event/ngx_event_timer.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#ifndef _NGX_EVENT_TIMER_H_INCLUDED_
#define _NGX_EVENT_TIMER_H_INCLUDED_
diff --git a/src/event/ngx_event_wsarecv.c b/src/event/ngx_event_wsarecv.c
deleted file mode 100644
index b97f97da4..000000000
--- a/src/event/ngx_event_wsarecv.c
+++ /dev/null
@@ -1,97 +0,0 @@
-
-#include <ngx_config.h>
-
-#include <ngx_core.h>
-#include <ngx_errno.h>
-#include <ngx_log.h>
-#include <ngx_connection.h>
-#include <ngx_event.h>
-
-
-ssize_t ngx_event_wsarecv(ngx_connection_t *c, char *buf, size_t size)
-{
- int rc;
- u_int flags;
- size_t bytes;
- ngx_err_t err;
- WSABUF wsabuf[1];
- ngx_event_t *ev;
- LPWSAOVERLAPPED_COMPLETION_ROUTINE handler;
-
- ev = c->read;
-
-/* DEBUG */ bytes = 0;
-
- if (ev->timedout) {
- ngx_set_socket_errno(NGX_ETIMEDOUT);
- ngx_log_error(NGX_LOG_ERR, ev->log, 0, "WSARecv() timed out");
-
- return NGX_ERROR;
- }
-
- if (ev->ready) {
- ev->ready = 0;
-
-#if (HAVE_IOCP) /* iocp */
-
- if (ngx_event_flags & NGX_HAVE_IOCP_EVENT) {
- if (ev->ovlp.error) {
- ngx_log_error(NGX_LOG_ERR, c->log, ev->ovlp.error,
- "WSARecv() failed");
- return NGX_ERROR;
- }
-
- return ev->available;
- }
-
-#endif
-
- if (WSAGetOverlappedResult(c->fd, (LPWSAOVERLAPPED) &ev->ovlp,
- &bytes, 0, NULL) == 0) {
- err = ngx_socket_errno;
- ngx_log_error(NGX_LOG_CRIT, ev->log, err,
- "WSARecv() or WSAGetOverlappedResult() failed");
-
- return NGX_ERROR;
- }
-
- return bytes;
- }
-
- ngx_memzero(&ev->ovlp, sizeof(WSAOVERLAPPED));
- wsabuf[0].buf = buf;
- wsabuf[0].len = size;
- flags = 0;
-
-#if 0
- handler = ev->handler;
-#else
- handler = NULL;
-#endif
-
- rc = WSARecv(c->fd, wsabuf, 1, &bytes, &flags,
- (LPWSAOVERLAPPED) &ev->ovlp, handler);
-
- ngx_log_debug(ev->log, "WSARecv: %d:%d" _ rc _ bytes);
-
- if (rc == -1) {
- err = ngx_socket_errno;
- if (err == WSA_IO_PENDING) {
- return NGX_AGAIN;
-
- } else {
- ngx_log_error(NGX_LOG_CRIT, ev->log, err, "WSARecv() failed");
- return NGX_ERROR;
- }
- }
-
-#if (HAVE_IOCP) /* iocp */
-
- if (ngx_event_flags & NGX_HAVE_IOCP_EVENT) {
- return NGX_AGAIN;
- }
-
-#endif
-
- return bytes;
-}