changeset 441:da8c5707af39

nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
author Igor Sysoev <igor@sysoev.ru>
date Tue, 28 Sep 2004 08:34:51 +0000
parents f390d1775430
children 464aaa791e2b
files src/core/nginx.c src/core/nginx.h src/core/ngx_array.c src/core/ngx_array.h src/core/ngx_buf.c src/core/ngx_buf.h src/core/ngx_conf_file.c src/core/ngx_conf_file.h src/core/ngx_config.h src/core/ngx_connection.c src/core/ngx_connection.h src/core/ngx_core.h src/core/ngx_crc.h src/core/ngx_cycle.c src/core/ngx_cycle.h src/core/ngx_file.c src/core/ngx_file.h src/core/ngx_garbage_collector.c src/core/ngx_garbage_collector.h src/core/ngx_inet.c src/core/ngx_inet.h src/core/ngx_list.c src/core/ngx_list.h src/core/ngx_log.c src/core/ngx_log.h src/core/ngx_output_chain.c src/core/ngx_palloc.c src/core/ngx_palloc.h src/core/ngx_parse.c src/core/ngx_parse.h src/core/ngx_radix_tree.c src/core/ngx_radix_tree.h src/core/ngx_rbtree.c src/core/ngx_rbtree.h src/core/ngx_regex.c src/core/ngx_regex.h src/core/ngx_slab.c src/core/ngx_slab.h src/core/ngx_spinlock.c src/core/ngx_string.c src/core/ngx_string.h src/core/ngx_table.h src/core/ngx_times.c src/core/ngx_times.h src/event/modules/ngx_aio_module.c src/event/modules/ngx_aio_module.h src/event/modules/ngx_devpoll_module.c src/event/modules/ngx_epoll_module.c src/event/modules/ngx_iocp_module.c src/event/modules/ngx_iocp_module.h src/event/modules/ngx_kqueue_module.c src/event/modules/ngx_kqueue_module.h src/event/modules/ngx_overlapped_module.c src/event/modules/ngx_poll_module.c src/event/modules/ngx_rtsig_module.c src/event/modules/ngx_select_module.c src/event/ngx_event.c src/event/ngx_event.h src/event/ngx_event_accept.c src/event/ngx_event_acceptex.c src/event/ngx_event_aio_read.c src/event/ngx_event_aio_write.c src/event/ngx_event_busy_lock.c src/event/ngx_event_busy_lock.h src/event/ngx_event_connect.c src/event/ngx_event_connect.h src/event/ngx_event_connectex.c src/event/ngx_event_mutex.c src/event/ngx_event_openssl.c src/event/ngx_event_openssl.h src/event/ngx_event_pipe.c src/event/ngx_event_pipe.h src/event/ngx_event_posted.c src/event/ngx_event_posted.h src/event/ngx_event_recv.c src/event/ngx_event_thread.c src/event/ngx_event_timer.c src/event/ngx_event_timer.h src/event/ngx_event_wsarecv.c src/http/modules/ngx_http_access_handler.c src/http/modules/ngx_http_charset_filter.c src/http/modules/ngx_http_chunked_filter.c src/http/modules/ngx_http_gzip_filter.c src/http/modules/ngx_http_headers_filter.c src/http/modules/ngx_http_index_handler.c src/http/modules/ngx_http_not_modified_filter.c src/http/modules/ngx_http_range_filter.c src/http/modules/ngx_http_rewrite_handler.c src/http/modules/ngx_http_ssi_filter.c src/http/modules/ngx_http_ssl_module.c src/http/modules/ngx_http_ssl_module.h src/http/modules/ngx_http_static_handler.c src/http/modules/ngx_http_status_handler.c src/http/modules/ngx_http_userid_filter.c src/http/modules/proxy/ngx_http_proxy_cache.c src/http/modules/proxy/ngx_http_proxy_handler.c src/http/modules/proxy/ngx_http_proxy_handler.h src/http/modules/proxy/ngx_http_proxy_header.c src/http/modules/proxy/ngx_http_proxy_parse.c src/http/modules/proxy/ngx_http_proxy_upstream.c src/http/ngx_http.c src/http/ngx_http.h src/http/ngx_http_busy_lock.c src/http/ngx_http_busy_lock.h src/http/ngx_http_cache.c src/http/ngx_http_cache.h src/http/ngx_http_config.h src/http/ngx_http_copy_filter.c src/http/ngx_http_core_module.c src/http/ngx_http_core_module.h src/http/ngx_http_file_cache.c src/http/ngx_http_header_filter.c src/http/ngx_http_log_handler.c src/http/ngx_http_log_handler.h src/http/ngx_http_parse.c src/http/ngx_http_parse_time.c src/http/ngx_http_request.c src/http/ngx_http_request.h src/http/ngx_http_request_body.c src/http/ngx_http_script.c src/http/ngx_http_script.h src/http/ngx_http_special_response.c src/http/ngx_http_write_filter.c src/imap/ngx_imap.c src/imap/ngx_imap.h src/imap/ngx_imap_handler.c src/imap/ngx_imap_parse.c src/imap/ngx_imap_proxy.c src/os/unix/ngx_aio.h src/os/unix/ngx_aio_read.c src/os/unix/ngx_aio_read_chain.c src/os/unix/ngx_aio_write.c src/os/unix/ngx_aio_write_chain.c src/os/unix/ngx_alloc.c src/os/unix/ngx_alloc.h src/os/unix/ngx_atomic.h src/os/unix/ngx_channel.c src/os/unix/ngx_channel.h src/os/unix/ngx_daemon.c src/os/unix/ngx_errno.c src/os/unix/ngx_errno.h src/os/unix/ngx_files.c src/os/unix/ngx_files.h src/os/unix/ngx_freebsd.h src/os/unix/ngx_freebsd_config.h src/os/unix/ngx_freebsd_init.c src/os/unix/ngx_freebsd_rfork_thread.c src/os/unix/ngx_freebsd_rfork_thread.h src/os/unix/ngx_freebsd_sendfile_chain.c src/os/unix/ngx_linux.h src/os/unix/ngx_linux_config.h src/os/unix/ngx_linux_init.c src/os/unix/ngx_linux_sendfile_chain.c src/os/unix/ngx_os.h src/os/unix/ngx_posix_config.h src/os/unix/ngx_posix_init.c src/os/unix/ngx_process.c src/os/unix/ngx_process.h src/os/unix/ngx_process_cycle.c src/os/unix/ngx_process_cycle.h src/os/unix/ngx_pthread_thread.c src/os/unix/ngx_readv_chain.c src/os/unix/ngx_recv.c src/os/unix/ngx_send.c src/os/unix/ngx_sendv.c src/os/unix/ngx_sendv.h src/os/unix/ngx_shared.c src/os/unix/ngx_shared.h src/os/unix/ngx_socket.c src/os/unix/ngx_socket.h src/os/unix/ngx_solaris.h src/os/unix/ngx_solaris_config.h src/os/unix/ngx_solaris_init.c src/os/unix/ngx_solaris_sendfilev_chain.c src/os/unix/ngx_thread.h src/os/unix/ngx_time.c src/os/unix/ngx_time.h src/os/unix/ngx_types.h src/os/unix/ngx_unix_init.c src/os/unix/ngx_user.h src/os/unix/ngx_writev_chain.c src/os/unix/ngx_x86_mutex.h src/os/unix/rfork_thread.S src/os/win32/ngx_alloc.c src/os/win32/ngx_alloc.h src/os/win32/ngx_atomic.h src/os/win32/ngx_errno.c src/os/win32/ngx_errno.h src/os/win32/ngx_files.c src/os/win32/ngx_files.h src/os/win32/ngx_os.h src/os/win32/ngx_os_thread.c src/os/win32/ngx_os_thread.h src/os/win32/ngx_process.c src/os/win32/ngx_process.h src/os/win32/ngx_process_cycle.c src/os/win32/ngx_process_cycle.h src/os/win32/ngx_recv.h src/os/win32/ngx_sendfile.c src/os/win32/ngx_sendv.c src/os/win32/ngx_sendv.h src/os/win32/ngx_service.c src/os/win32/ngx_shared.h src/os/win32/ngx_socket.c src/os/win32/ngx_socket.h src/os/win32/ngx_stat.c src/os/win32/ngx_thread.h src/os/win32/ngx_time.c src/os/win32/ngx_time.h src/os/win32/ngx_types.h src/os/win32/ngx_user.h src/os/win32/ngx_win32_config.h src/os/win32/ngx_win32_init.c src/os/win32/ngx_wsarecv.c src/os/win32/ngx_wsarecv_chain.c src/os/win32/ngx_wsasend_chain.c
diffstat 216 files changed, 1101 insertions(+), 1156 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/nginx.c
+++ b/src/core/nginx.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGINX_H_INCLUDED_
 #define _NGINX_H_INCLUDED_
 
--- a/src/core/ngx_array.c
+++ b/src/core/ngx_array.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_array.h
+++ b/src/core/ngx_array.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_ARRAY_H_INCLUDED_
 #define _NGX_ARRAY_H_INCLUDED_
 
--- a/src/core/ngx_buf.c
+++ b/src/core/ngx_buf.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_buf.h
+++ b/src/core/ngx_buf.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_BUF_H_INCLUDED_
 #define _NGX_BUF_H_INCLUDED_
 
@@ -6,46 +12,9 @@
 #include <ngx_core.h>
 
 
-#if 0
-/* the buf type */
-
-/* the buf's content is in memory */
-#define NGX_HUNK_IN_MEMORY    0x0001
-/* the buf's content can be changed */
-#define NGX_HUNK_TEMP         0x0002
-/* the buf's content is in cache and can not be changed */
-#define NGX_HUNK_MEMORY       0x0004
-#define NGX_HUNK_MMAP         0x0008
-
-/* the buf's content is recycled */
-#define NGX_HUNK_RECYCLED     0x0010
-
-/* the buf's content is in a file */
-#define NGX_HUNK_FILE         0x0020
+typedef void *            ngx_buf_tag_t;
 
-#define NGX_HUNK_STORAGE      (NGX_HUNK_IN_MEMORY                            \
-                               |NGX_HUNK_TEMP|NGX_HUNK_MEMORY|NGX_HUNK_MMAP  \
-                               |NGX_HUNK_RECYCLED|NGX_HUNK_FILE)
-
-/* the buf flags */
-
-/* in thread state flush means to write the buf completely before return */
-/* in event state flush means to start to write the buf */
-#define NGX_HUNK_FLUSH        0x0100
-
-/* the last buf */
-#define NGX_HUNK_LAST         0x0200
-
-
-#define NGX_HUNK_PREREAD      0x2000
-#define NGX_HUNK_LAST_SHADOW  0x4000
-#define NGX_HUNK_TEMP_FILE    0x8000
-#endif
-
-
-typedef void *                   ngx_buf_tag_t;
-
-typedef struct ngx_buf_s         ngx_buf_t;
+typedef struct ngx_buf_s  ngx_buf_t;
 
 struct ngx_buf_s {
     u_char          *pos;
@@ -61,17 +30,18 @@ struct ngx_buf_s {
     ngx_buf_t       *shadow;
 
 
-    /* the buf's content can be changed */
+    /* the buf's content could be changed */
     unsigned         temporary:1;
 
     /*
      * the buf's content is in a memory cache or in a read only memory
-     * and can not be changed
+     * and must not be changed
      */
     unsigned         memory:1;
 
-    /* the buf's content is mmap()ed and can not be changed */
+    /* the buf's content is mmap()ed and must not be changed */
     unsigned         mmap:1;
+
     unsigned         recycled:1;
     unsigned         in_file:1;
     unsigned         flush:1;
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_conf_file.h
+++ b/src/core/ngx_conf_file.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_CONF_FILE_H_INCLUDED_
 #define _NGX_HTTP_CONF_FILE_H_INCLUDED_
 
--- a/src/core/ngx_config.h
+++ b/src/core/ngx_config.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_CONFIG_H_INCLUDED_
 #define _NGX_CONFIG_H_INCLUDED_
 
@@ -116,5 +122,10 @@ typedef long               ngx_flag_t;
 #define INET_ADDRSTRLEN  16
 #endif
 
+#define NGX_MAXHOSTNAMELEN 64
+/*
+#define NGX_MAXHOSTNAMELEN MAXHOSTNAMELEN
+*/
+
 
 #endif /* _NGX_CONFIG_H_INCLUDED_ */
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_connection.h
+++ b/src/core/ngx_connection.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_CONNECTION_H_INCLUDED_
 #define _NGX_CONNECTION_H_INCLUDED_
 
--- a/src/core/ngx_core.h
+++ b/src/core/ngx_core.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_CORE_H_INCLUDED_
 #define _NGX_CORE_H_INCLUDED_
 
@@ -70,11 +76,4 @@ typedef void (*ngx_event_handler_pt)(ngx
 #define CRLF   "\x0d\x0a"
 
 
-
-#define NGX_MAXHOSTNAMELEN 64
-/*
-#define NGX_MAXHOSTNAMELEN MAXHOSTNAMELEN
-*/
-
-
 #endif /* _NGX_CORE_H_INCLUDED_ */
--- a/src/core/ngx_crc.h
+++ b/src/core/ngx_crc.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_CRC_H_INCLUDED_
 #define _NGX_CRC_H_INCLUDED_
 
@@ -9,9 +15,10 @@ ngx_inline static uint32_t ngx_crc(char 
     uint32_t  sum;
 
     for (sum = 0; len; len--) {
+
         /*
          * gcc 2.95.2 x86 and icc 7.1.006 compile that operator
-         *                                into the single rol opcode.
+         *                                into the single "rol" opcode.
          * msvc 6.0sp2 compiles it into four opcodes.
          */
         sum = sum >> 1 | sum << 31;
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_cycle.h
+++ b/src/core/ngx_cycle.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_CYCLE_H_INCLUDED_
 #define _NGX_CYCLE_H_INCLUDED_
 
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_file.h
+++ b/src/core/ngx_file.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_FILE_H_INCLUDED_
 #define _NGX_FILE_H_INCLUDED_
 
--- a/src/core/ngx_garbage_collector.c
+++ b/src/core/ngx_garbage_collector.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_garbage_collector.h
+++ b/src/core/ngx_garbage_collector.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_GARBAGE_COLLECTOR_H_INCLUDED_
 #define _NGX_GARBAGE_COLLECTOR_H_INCLUDED_
 
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_inet.h
+++ b/src/core/ngx_inet.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_INET_H_INCLUDED_
 #define _NGX_INET_H_INCLUDED_
 
--- a/src/core/ngx_list.c
+++ b/src/core/ngx_list.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_list.h
+++ b/src/core/ngx_list.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_LIST_H_INCLUDED_
 #define _NGX_LIST_H_INCLUDED_
 
--- a/src/core/ngx_log.c
+++ b/src/core/ngx_log.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_log.h
+++ b/src/core/ngx_log.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_LOG_H_INCLUDED_
 #define _NGX_LOG_H_INCLUDED_
 
@@ -24,8 +30,8 @@
 #define NGX_LOG_DEBUG_IMAP        0x200
 
 /*
- * after the adding a new debug level do not forget to update
- * debug_levels[] in src/core/ngx_log.c
+ * do not forget to update debug_levels[] in src/core/ngx_log.c
+ * after the adding a new debug level
  */
 
 #define NGX_LOG_DEBUG_FIRST       NGX_LOG_DEBUG_CORE
@@ -34,50 +40,6 @@
 #define NGX_LOG_DEBUG_ALL         0x7ffffff0
 
 
-/*
-    "[%time] [%level] %pid#%tid: %message:(%errno)%errstr, while %action"
-        " %peer and while processing %context"
-
-    ----
-    message = "recv() failed";
-    errno = 32;
-    action = "reading request headers from client";
-    peer = "192.168.1.1";
-    context = "URL /"
-
-    "[2002/08/20 12:00:00] [error] 412#3: recv() failed (32: Broken pipe)"
-    " while reading request headers from client 192.168.1.1"
-    " and while processing URL /"
-
-    ----
-    message = "recv() failed";
-    errno = 32;
-    ngx_http_proxy_error_context_t:
-        action = "reading headers from server %s for client %s and "
-                 "while processing %s"
-        backend = "127.0.0.1";
-        peer = "192.168.1.1";
-        context = "URL /"
-
-    "[2002/08/20 12:00:00] [error] 412#3: recv() failed (32: Broken pipe)"
-    " while reading headers from backend 127.0.0.1"
-    " for client 192.168.1.1 and while processing URL /"
-
-    ----
-    "[alert] 412#3: ngx_alloc: malloc() 102400 bytes failed (12: Cannot "
-    "allocate memory) while reading request headers from client 192.168.1.1"
-    " and while processing URL /"
-
-
-    OLD:
-    "... while ", action = "reading client request headers"
-    "... while reading client request headers"
-    "... while ", action = "reading client request headers"
-                  context: pop3 user account
-    "... while reading client command for 'john_doe'"
-*/
-
-
 typedef size_t  (*ngx_log_handler_pt) (void *ctx, char *buf, size_t len);
 
 
@@ -88,7 +50,7 @@ struct ngx_log_s {
     ngx_log_handler_pt   handler;
 };
 
-#define MAX_ERROR_STR	2048
+#define MAX_ERROR_STR	 2048
 
 
 /*********************************/
--- a/src/core/ngx_output_chain.c
+++ b/src/core/ngx_output_chain.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_palloc.c
+++ b/src/core/ngx_palloc.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_palloc.h
+++ b/src/core/ngx_palloc.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_PALLOC_H_INCLUDED_
 #define _NGX_PALLOC_H_INCLUDED_
 
@@ -8,7 +14,7 @@
 
 /*
  * NGX_MAX_ALLOC_FROM_POOL should be (ngx_page_size - 1), i.e. 4095 on x86.
- * On FreeBSD 5.x it allows to use zero copy send.
+ * On FreeBSD 5.x it allows to use the zero copy sending.
  * On Windows NT it decreases a number of locked pages in a kernel.
  */
 #define NGX_MAX_ALLOC_FROM_POOL  (ngx_pagesize - 1)
--- a/src/core/ngx_parse.c
+++ b/src/core/ngx_parse.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_parse.h
+++ b/src/core/ngx_parse.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_PARSE_H_INCLUDED_
 #define _NGX_PARSE_H_INCLUDED_
 
--- a/src/core/ngx_radix_tree.c
+++ b/src/core/ngx_radix_tree.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_radix_tree.h
+++ b/src/core/ngx_radix_tree.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_RADIX_TREE_H_INCLUDED_
 #define _NGX_RADIX_TREE_H_INCLUDED_
 
--- a/src/core/ngx_rbtree.c
+++ b/src/core/ngx_rbtree.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_rbtree.h
+++ b/src/core/ngx_rbtree.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_RBTREE_H_INCLUDED_
 #define _NGX_RBTREE_H_INCLUDED_
 
--- a/src/core/ngx_regex.c
+++ b/src/core/ngx_regex.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_regex.h
+++ b/src/core/ngx_regex.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_REGEX_H_INCLUDED_
 #define _NGX_REGEX_H_INCLUDED_
 
--- a/src/core/ngx_slab.c
+++ b/src/core/ngx_slab.c
@@ -1,8 +1,11 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 
 void *ngx_slab_alloc(ngx_slab_pool_t *pool, size_t size)
 {
-
-
    return NULL;
 }
--- a/src/core/ngx_slab.h
+++ b/src/core/ngx_slab.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_SLAB_H_INCLUDED_
 #define _NGX_SLAB_H_INCLUDED_
 
--- a/src/core/ngx_spinlock.c
+++ b/src/core/ngx_spinlock.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/core/ngx_string.h
+++ b/src/core/ngx_string.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_STRING_H_INCLUDED_
 #define _NGX_STRING_H_INCLUDED_
 
@@ -19,48 +25,47 @@ typedef struct {
 #if (WIN32)
 
 #define ngx_strncasecmp(s1, s2, n)                                           \
-                          strnicmp((const char *) s1, (const char *) s2, n)
+                           strnicmp((const char *) s1, (const char *) s2, n)
 #define ngx_strcasecmp(s1, s2)                                               \
-                          stricmp((const char *) s1, (const char *) s2)
+                           stricmp((const char *) s1, (const char *) s2)
 
-#define ngx_snprintf              _snprintf
-#define ngx_vsnprintf             _vsnprintf
+#define ngx_snprintf       _snprintf
+#define ngx_vsnprintf      _vsnprintf
 
 #else
 
 #define ngx_strncasecmp(s1, s2, n)                                           \
-                          strncasecmp((const char *) s1, (const char *) s2, n)
+                           strncasecmp((const char *) s1, (const char *) s2, n)
 #define ngx_strcasecmp(s1, s2)                                               \
-                          strcasecmp((const char *) s1, (const char *) s2)
+                           strcasecmp((const char *) s1, (const char *) s2)
 
-#define ngx_snprintf              snprintf
-#define ngx_vsnprintf             vsnprintf
+#define ngx_snprintf       snprintf
+#define ngx_vsnprintf      vsnprintf
 
 #endif
 
 
 #define ngx_strncmp(s1, s2, n)                                               \
-                          strncmp((const char *) s1, (const char *) s2, n)
+                            strncmp((const char *) s1, (const char *) s2, n)
 
 /* msvc and icc compile strcmp() to inline loop */
-#define ngx_strcmp(s1, s2)        strcmp((const char *) s1, (const char *) s2)
+#define ngx_strcmp(s1, s2)  strcmp((const char *) s1, (const char *) s2)
 
-#define ngx_strstr(s1, s2)        strstr((const char *) s1, (const char *) s2)
-#define ngx_strlen(s)             strlen((const char *) s)
+#define ngx_strstr(s1, s2)  strstr((const char *) s1, (const char *) s2)
+#define ngx_strlen(s)       strlen((const char *) s)
 
 /*
- * msvc and icc compile memset() to inline "rep stos"
- * while ZeroMemory and bzero are calls.
- *
- * icc can also inline mov's of a zeroed register for small blocks.
+ * msvc and icc compile memset() to the inline "rep stos"
+ * while ZeroMemory() and bzero() are the calls.
+ * icc may also inline several mov's of a zeroed register for small blocks.
  */
 #define ngx_memzero(buf, n)       memset(buf, 0, n)
 
-/* msvc and icc compile memcpy() to inline "rep movs" */
+/* msvc and icc compile memcpy() to the inline "rep movs" */
 #define ngx_memcpy(dst, src, n)   memcpy(dst, src, n)
 #define ngx_cpymem(dst, src, n)   ((u_char *) memcpy(dst, src, n)) + n
 
-/* msvc and icc compile memcmp() to inline loop */
+/* msvc and icc compile memcmp() to the inline loop */
 #define ngx_memcmp                memcmp
 
 u_char *ngx_cpystrn(u_char *dst, u_char *src, size_t n);
--- a/src/core/ngx_table.h
+++ b/src/core/ngx_table.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_TABLE_H_INCLUDED_
 #define _NGX_TABLE_H_INCLUDED_
 
--- a/src/core/ngx_times.c
+++ b/src/core/ngx_times.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
@@ -12,7 +17,7 @@ static ngx_int_t  ngx_gmtoff;
 
 
 /*
- * In the threaded mode only one thread updates cached time and strings
+ * In the threaded mode only one thread updates the cached time and strings
  * and these operations are protected by the mutex.  The reading of the cached
  * time and strings is not protected by the mutex.  To avoid the race
  * conditions for non-atomic values we use the NGX_TIME_SLOTS slots to store
@@ -290,6 +295,7 @@ void ngx_gmtime(time_t t, ngx_tm_t *tp)
     mon += 2;
 
     if (yday >= 306) {
+
         /*
          * there is no "yday" in Win32 SYSTEMTIME
          *
--- a/src/core/ngx_times.h
+++ b/src/core/ngx_times.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_TIMES_H_INCLUDED_
 #define _NGX_TIMES_H_INCLUDED_
 
--- a/src/event/modules/ngx_aio_module.c
+++ b/src/event/modules/ngx_aio_module.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- 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_
 
--- 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
  */
 
 
--- 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
  */
 
 
--- 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
  */
 
 
--- 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_
 
--- 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
  */
 
 
--- 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_
 
deleted file mode 100644
--- 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
-}
--- 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
  */
 
 
--- 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
  */
 
 
--- 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
  */
 
 
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- 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_
 
--- a/src/event/ngx_event_accept.c
+++ b/src/event/ngx_event_accept.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/event/ngx_event_acceptex.c
+++ b/src/event/ngx_event_acceptex.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
deleted file mode 100644
--- 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;
-}
deleted file mode 100644
--- 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;
-}
--- a/src/event/ngx_event_busy_lock.c
+++ b/src/event/ngx_event_busy_lock.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- 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_
 
--- a/src/event/ngx_event_connect.c
+++ b/src/event/ngx_event_connect.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- 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_
 
--- a/src/event/ngx_event_connectex.c
+++ b/src/event/ngx_event_connectex.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/event/ngx_event_mutex.c
+++ b/src/event/ngx_event_mutex.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- 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_
 
--- a/src/event/ngx_event_pipe.c
+++ b/src/event/ngx_event_pipe.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
@@ -656,8 +661,12 @@ ngx_inline static void ngx_event_pipe_re
 #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_re
                  |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;
 
--- 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_
 
--- a/src/event/ngx_event_posted.c
+++ b/src/event/ngx_event_posted.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- 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_
 
deleted file mode 100644
--- 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
-}
deleted file mode 100644
--- 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");
-    }
-}
--- a/src/event/ngx_event_timer.c
+++ b/src/event/ngx_event_timer.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- 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_
 
deleted file mode 100644
--- 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;
-}
--- a/src/http/modules/ngx_http_access_handler.c
+++ b/src/http/modules/ngx_http_access_handler.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_charset_filter.c
+++ b/src/http/modules/ngx_http_charset_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_chunked_filter.c
+++ b/src/http/modules/ngx_http_chunked_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_gzip_filter.c
+++ b/src/http/modules/ngx_http_gzip_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_headers_filter.c
+++ b/src/http/modules/ngx_http_headers_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_index_handler.c
+++ b/src/http/modules/ngx_http_index_handler.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_not_modified_filter.c
+++ b/src/http/modules/ngx_http_not_modified_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_range_filter.c
+++ b/src/http/modules/ngx_http_range_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_rewrite_handler.c
+++ b/src/http/modules/ngx_http_rewrite_handler.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_ssi_filter.c
+++ b/src/http/modules/ngx_http_ssi_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_ssl_module.c
+++ b/src/http/modules/ngx_http_ssl_module.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_ssl_module.h
+++ b/src/http/modules/ngx_http_ssl_module.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_SSL_H_INCLUDED_
 #define _NGX_HTTP_SSL_H_INCLUDED_
 
--- a/src/http/modules/ngx_http_static_handler.c
+++ b/src/http/modules/ngx_http_static_handler.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_status_handler.c
+++ b/src/http/modules/ngx_http_status_handler.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/ngx_http_userid_filter.c
+++ b/src/http/modules/ngx_http_userid_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/proxy/ngx_http_proxy_cache.c
+++ b/src/http/modules/proxy/ngx_http_proxy_cache.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/proxy/ngx_http_proxy_handler.c
+++ b/src/http/modules/proxy/ngx_http_proxy_handler.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/proxy/ngx_http_proxy_handler.h
+++ b/src/http/modules/proxy/ngx_http_proxy_handler.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_PROXY_HANDLER_H_INCLUDED_
 #define _NGX_HTTP_PROXY_HANDLER_H_INCLUDED_
 
--- a/src/http/modules/proxy/ngx_http_proxy_header.c
+++ b/src/http/modules/proxy/ngx_http_proxy_header.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/proxy/ngx_http_proxy_parse.c
+++ b/src/http/modules/proxy/ngx_http_proxy_parse.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/modules/proxy/ngx_http_proxy_upstream.c
+++ b/src/http/modules/proxy/ngx_http_proxy_upstream.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http.h
+++ b/src/http/ngx_http.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_H_INCLUDED_
 #define _NGX_HTTP_H_INCLUDED_
 
--- a/src/http/ngx_http_busy_lock.c
+++ b/src/http/ngx_http_busy_lock.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_busy_lock.h
+++ b/src/http/ngx_http_busy_lock.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_BUSY_LOCK_H_INCLUDED_
 #define _NGX_HTTP_BUSY_LOCK_H_INCLUDED_
 
--- a/src/http/ngx_http_cache.c
+++ b/src/http/ngx_http_cache.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_cache.h
+++ b/src/http/ngx_http_cache.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_CACHE_H_INCLUDED_
 #define _NGX_HTTP_CACHE_H_INCLUDED_
 
--- a/src/http/ngx_http_config.h
+++ b/src/http/ngx_http_config.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_CONFIG_H_INCLUDED_
 #define _NGX_HTTP_CONFIG_H_INCLUDED_
 
--- a/src/http/ngx_http_copy_filter.c
+++ b/src/http/ngx_http_copy_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_core_module.h
+++ b/src/http/ngx_http_core_module.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_CORE_H_INCLUDED_
 #define _NGX_HTTP_CORE_H_INCLUDED_
 
--- a/src/http/ngx_http_file_cache.c
+++ b/src/http/ngx_http_file_cache.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_header_filter.c
+++ b/src/http/ngx_http_header_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_log_handler.c
+++ b/src/http/ngx_http_log_handler.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_log_handler.h
+++ b/src/http/ngx_http_log_handler.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_LOG_HANDLER_H_INCLUDED_
 #define _NGX_HTTP_LOG_HANDLER_H_INCLUDED_
 
--- a/src/http/ngx_http_parse.c
+++ b/src/http/ngx_http_parse.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
@@ -39,7 +44,7 @@ ngx_int_t ngx_http_parse_request_line(ng
     while (p < b->last && state < sw_done) {
         ch = *p++;
 
-        /* gcc 2.95.2 and vc 6.0 compile this switch as an jump table */
+        /* gcc 2.95.2 and msvc 6.0 compile this switch as an jump table */
 
         switch (state) {
 
--- a/src/http/ngx_http_parse_time.c
+++ b/src/http/ngx_http_parse_time.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -1,4 +1,9 @@
 
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #include <ngx_config.h>
 #include <ngx_core.h>
 #include <ngx_event.h>
--- a/src/http/ngx_http_request.h
+++ b/src/http/ngx_http_request.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_REQUEST_H_INCLUDED_
 #define _NGX_HTTP_REQUEST_H_INCLUDED_
 
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_script.c
+++ b/src/http/ngx_http_script.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_script.h
+++ b/src/http/ngx_http_script.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_HTTP_SCRIPT_H_INCLUDED_
 #define _NGX_HTTP_SCRIPT_H_INCLUDED_
 
--- a/src/http/ngx_http_special_response.c
+++ b/src/http/ngx_http_special_response.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/imap/ngx_imap.c
+++ b/src/imap/ngx_imap.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/imap/ngx_imap.h
+++ b/src/imap/ngx_imap.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_IMAP_H_INCLUDED_
 #define _NGX_IMAP_H_INCLUDED_
 
--- a/src/imap/ngx_imap_handler.c
+++ b/src/imap/ngx_imap_handler.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/imap/ngx_imap_parse.c
+++ b/src/imap/ngx_imap_parse.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/imap/ngx_imap_proxy.c
+++ b/src/imap/ngx_imap_proxy.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_aio.h
+++ b/src/os/unix/ngx_aio.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_AIO_H_INCLUDED_
 #define _NGX_AIO_H_INCLUDED_
 
--- a/src/os/unix/ngx_aio_read.c
+++ b/src/os/unix/ngx_aio_read.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_aio_read_chain.c
+++ b/src/os/unix/ngx_aio_read_chain.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_aio_write.c
+++ b/src/os/unix/ngx_aio_write.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_aio_write_chain.c
+++ b/src/os/unix/ngx_aio_write_chain.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_alloc.c
+++ b/src/os/unix/ngx_alloc.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_alloc.h
+++ b/src/os/unix/ngx_alloc.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_ALLOC_H_INCLUDED_
 #define _NGX_ALLOC_H_INCLUDED_
 
@@ -16,7 +22,7 @@ void *ngx_calloc(size_t size, ngx_log_t 
  * Linux has memalign() or posix_memalign()
  * Solaris has memalign()
  * FreeBSD has not memalign() or posix_memalign() but its malloc() alignes
- * allocations bigger than page size at page boundary.
+ * allocations bigger than page size at the page boundary.
  */
 
 #if (HAVE_POSIX_MEMALIGN || HAVE_MEMALIGN)
--- a/src/os/unix/ngx_atomic.h
+++ b/src/os/unix/ngx_atomic.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_ATOMIC_H_INCLUDED_
 #define _NGX_ATOMIC_H_INCLUDED_
 
--- a/src/os/unix/ngx_channel.c
+++ b/src/os/unix/ngx_channel.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_channel.h
+++ b/src/os/unix/ngx_channel.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_CHANNEL_H_INCLUDED_
 #define _NGX_CHANNEL_H_INCLUDED_
 
--- a/src/os/unix/ngx_daemon.c
+++ b/src/os/unix/ngx_daemon.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_errno.c
+++ b/src/os/unix/ngx_errno.c
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #include <ngx_config.h>
 #include <ngx_core.h>
 
--- a/src/os/unix/ngx_errno.h
+++ b/src/os/unix/ngx_errno.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_ERRNO_H_INCLUDED_
 #define _NGX_ERRNO_H_INCLUDED_
 
--- a/src/os/unix/ngx_files.c
+++ b/src/os/unix/ngx_files.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_files.h
+++ b/src/os/unix/ngx_files.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_FILES_H_INCLUDED_
 #define _NGX_FILES_H_INCLUDED_
 
--- a/src/os/unix/ngx_freebsd.h
+++ b/src/os/unix/ngx_freebsd.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_FREEBSD_H_INCLUDED_
 #define _NGX_FREEBSD_H_INCLUDED_
 
--- a/src/os/unix/ngx_freebsd_config.h
+++ b/src/os/unix/ngx_freebsd_config.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_FREEBSD_CONFIG_H_INCLUDED_
 #define _NGX_FREEBSD_CONFIG_H_INCLUDED_
 
--- a/src/os/unix/ngx_freebsd_init.c
+++ b/src/os/unix/ngx_freebsd_init.c
@@ -1,22 +1,31 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
 
 
-/* FreeBSD 3.4 at least */
+/* FreeBSD 3.0 at least */
 char ngx_freebsd_kern_ostype[20];
 char ngx_freebsd_kern_osrelease[20];
 int ngx_freebsd_kern_osreldate;
 int ngx_freebsd_hw_ncpu;
+int ngx_freebsd_net_inet_tcp_sendspace;
+
+/* FreeBSD 4.9 */
 int ngx_freebsd_machdep_hlt_logical_cpus;
-int ngx_freebsd_net_inet_tcp_sendspace;
-int ngx_freebsd_sendfile_nbytes_bug;
-int ngx_freebsd_use_tcp_nopush;
 
 /* FreeBSD 5.0 */
 int ngx_freebsd_kern_ipc_zero_copy_send;
 
 
+int ngx_freebsd_sendfile_nbytes_bug;
+int ngx_freebsd_use_tcp_nopush;
+
+
 ngx_os_io_t ngx_os_io = {
     ngx_unix_recv,
     ngx_readv_chain,
--- a/src/os/unix/ngx_freebsd_rfork_thread.c
+++ b/src/os/unix/ngx_freebsd_rfork_thread.c
@@ -1,6 +1,6 @@
 
 /*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
  */
 
 
--- a/src/os/unix/ngx_freebsd_rfork_thread.h
+++ b/src/os/unix/ngx_freebsd_rfork_thread.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_FREEBSD_RFORK_THREAD_H_INCLUDED_
 #define _NGX_FREEBSD_RFORK_THREAD_H_INCLUDED_
 
--- a/src/os/unix/ngx_freebsd_sendfile_chain.c
+++ b/src/os/unix/ngx_freebsd_sendfile_chain.c
@@ -1,6 +1,6 @@
 
 /*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
  */
 
 
--- a/src/os/unix/ngx_linux.h
+++ b/src/os/unix/ngx_linux.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_LINUX_H_INCLUDED_
 #define _NGX_LINUX_H_INCLUDED_
 
--- a/src/os/unix/ngx_linux_config.h
+++ b/src/os/unix/ngx_linux_config.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_LINUX_CONFIG_H_INCLUDED_
 #define _NGX_LINUX_CONFIG_H_INCLUDED_
 
--- a/src/os/unix/ngx_linux_init.c
+++ b/src/os/unix/ngx_linux_init.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_linux_sendfile_chain.c
+++ b/src/os/unix/ngx_linux_sendfile_chain.c
@@ -1,6 +1,6 @@
 
 /*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
  */
 
 
--- a/src/os/unix/ngx_os.h
+++ b/src/os/unix/ngx_os.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_OS_H_INCLUDED_
 #define _NGX_OS_H_INCLUDED_
 
--- a/src/os/unix/ngx_posix_config.h
+++ b/src/os/unix/ngx_posix_config.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_POSIX_CONFIG_H_INCLUDED_
 #define _NGX_POSIX_CONFIG_H_INCLUDED_
 
--- a/src/os/unix/ngx_posix_init.c
+++ b/src/os/unix/ngx_posix_init.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_process.c
+++ b/src/os/unix/ngx_process.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_process.h
+++ b/src/os/unix/ngx_process.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_PROCESS_H_INCLUDED_
 #define _NGX_PROCESS_H_INCLUDED_
 
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_process_cycle.h
+++ b/src/os/unix/ngx_process_cycle.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_PROCESS_CYCLE_H_INCLUDED_
 #define _NGX_PROCESS_CYCLE_H_INCLUDED_
 
--- a/src/os/unix/ngx_pthread_thread.c
+++ b/src/os/unix/ngx_pthread_thread.c
@@ -1,6 +1,6 @@
 
 /*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
  */
 
 
--- a/src/os/unix/ngx_readv_chain.c
+++ b/src/os/unix/ngx_readv_chain.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_recv.c
+++ b/src/os/unix/ngx_recv.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_send.c
+++ b/src/os/unix/ngx_send.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
deleted file mode 100644
--- a/src/os/unix/ngx_sendv.c
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#include <ngx_core.h>
-#include <ngx_types.h>
-#include <ngx_errno.h>
-#include <ngx_connection.h>
-#include <ngx_log.h>
-#include <ngx_sendv.h>
-
-ssize_t ngx_sendv(ngx_connection_t *c, ngx_iovec_t *iovec, int n)
-{
-    ssize_t rc;
-    ngx_err_t err;
-
-    rc = writev(c->fd, iovec, n);
-
-    if (rc == -1) {
-        err = ngx_socket_errno;
-        if (err == NGX_EAGAIN) {
-            ngx_log_error(NGX_LOG_INFO, c->log, err, "sendv() eagain");
-            return NGX_AGAIN;
-        }
-
-        ngx_log_error(NGX_LOG_ERR, c->log, err, "sendv() failed");
-        return NGX_ERROR;
-    }
-
-    return rc;
-}
deleted file mode 100644
--- a/src/os/unix/ngx_sendv.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _NGX_SENDV_H_INCLUDED_
-#define _NGX_SENDV_H_INCLUDED_
-
-
-#include <ngx_types.h>
-#include <ngx_connection.h>
-
-typedef struct iovec  ngx_iovec_t;
-#define ngx_iov_base  iov_base
-#define ngx_iov_len   iov_len
-
-ssize_t ngx_sendv(ngx_connection_t *c, ngx_iovec_t *iovec, int n);
-
-
-#endif /* _NGX_SENDV_H_INCLUDED_ */
--- a/src/os/unix/ngx_shared.c
+++ b/src/os/unix/ngx_shared.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_shared.h
+++ b/src/os/unix/ngx_shared.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_SHARED_H_INCLUDED_
 #define _NGX_SHARED_H_INCLUDED_
 
--- a/src/os/unix/ngx_socket.c
+++ b/src/os/unix/ngx_socket.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
@@ -6,7 +11,7 @@
 /*
  * ioctl(FIONBIO) sets a blocking mode with the single syscall
  * while fcntl(F_SETFL, ~O_NONBLOCK) needs to learn before
- * a previous state using fcntl(F_GETFL).
+ * the previous state using fcntl(F_GETFL).
  *
  * ioctl() and fcntl() are syscalls on at least FreeBSD 2.x, Linux 2.2
  * and Solaris 7.
--- a/src/os/unix/ngx_socket.h
+++ b/src/os/unix/ngx_socket.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_SOCKET_H_INCLUDED_
 #define _NGX_SOCKET_H_INCLUDED_
 
--- a/src/os/unix/ngx_solaris.h
+++ b/src/os/unix/ngx_solaris.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_SOLARIS_H_INCLUDED_
 #define _NGX_SOLARIS_H_INCLUDED_
 
--- a/src/os/unix/ngx_solaris_config.h
+++ b/src/os/unix/ngx_solaris_config.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_SOLARIS_CONFIG_H_INCLUDED_
 #define _NGX_SOLARIS_CONFIG_H_INCLUDED_
 
--- a/src/os/unix/ngx_solaris_init.c
+++ b/src/os/unix/ngx_solaris_init.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_solaris_sendfilev_chain.c
+++ b/src/os/unix/ngx_solaris_sendfilev_chain.c
@@ -1,6 +1,6 @@
 
 /*
- * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/
+ * Copyright (C) 2002-2004 Igor Sysoev
  */
 
 
--- a/src/os/unix/ngx_thread.h
+++ b/src/os/unix/ngx_thread.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_THREAD_H_INCLUDED_
 #define _NGX_THREAD_H_INCLUDED_
 
--- a/src/os/unix/ngx_time.c
+++ b/src/os/unix/ngx_time.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/unix/ngx_time.h
+++ b/src/os/unix/ngx_time.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_TIME_H_INCLUDED_
 #define _NGX_TIME_H_INCLUDED_
 
--- a/src/os/unix/ngx_types.h
+++ b/src/os/unix/ngx_types.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_TYPES_H_INCLUDED_
 #define _NGX_TYPES_H_INCLUDED_
 
deleted file mode 100644
--- a/src/os/unix/ngx_unix_init.c
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#include <ngx_config.h>
-#include <ngx_core.h>
-
-
-#if 0
-/* STUB */
-ssize_t ngx_unix_recv(ngx_connection_t *c, char *buf, size_t size);
-ngx_chain_t *ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in);
-int ngx_posix_init(ngx_log_t *log);
-int ngx_posix_post_conf_init(ngx_log_t *log);
-/* */
-#endif
-
-
-ngx_os_io_t ngx_os_io = {
-    ngx_unix_recv,
-    ngx_readv_chain,
-    NULL,
-    ngx_writev_chain,
-    NGX_HAVE_ZEROCOPY
-};
-
-
-int ngx_os_init(ngx_log_t *log)
-{
-    return ngx_posix_init(log);
-}
-
-
-int ngx_os_post_conf_init(ngx_log_t *log)
-{
-    return ngx_posix_post_conf_init(log);
-}
--- a/src/os/unix/ngx_user.h
+++ b/src/os/unix/ngx_user.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_USER_H_INCLUDED_
 #define _NGX_USER_H_INCLUDED_
 
--- a/src/os/unix/ngx_writev_chain.c
+++ b/src/os/unix/ngx_writev_chain.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
deleted file mode 100644
--- a/src/os/unix/ngx_x86_mutex.h
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-typedef struct {
-    int  lock;
-} ngx_mutex_t;
-
-
-static inline int ngx_spin_lock(ngx_mutex_t *m, int count)
-{
-    int  lock;
-
-    __asm__ __volatile("
-
-get_lock:
-        mov   $1, %1
-        xchg  %1, %2
-        cmp   $0, %1
-        jne   spin_lock
-
-spin_lock:
-        cmp   $0, %3
-        je    failed
-
-        dec   %3
-        rep   nop
-        cmp   $0, %2
-        jne   spin_lock
-
-    ": "=q" (lock), "m" (m->lock), "q" (count));
-}
--- a/src/os/unix/rfork_thread.S
+++ b/src/os/unix/rfork_thread.S
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 
 #include <sys/syscall.h>
 #include <machine/asm.h>
--- a/src/os/win32/ngx_alloc.c
+++ b/src/os/win32/ngx_alloc.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_alloc.h
+++ b/src/os/win32/ngx_alloc.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_ALLOC_H_INCLUDED_
 #define _NGX_ALLOC_H_INCLUDED_
 
--- a/src/os/win32/ngx_atomic.h
+++ b/src/os/win32/ngx_atomic.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_ATOMIC_H_INCLUDED_
 #define _NGX_ATOMIC_H_INCLUDED_
 
--- a/src/os/win32/ngx_errno.c
+++ b/src/os/win32/ngx_errno.c
@@ -1,9 +1,14 @@
 
 /*
-   TODO:
-     add WSA error messages for NT and 98
-     test for English only messages
-*/
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
+/*
+ * TODO:
+ *   add WSA error messages for NT and 98
+ *   test for English only messages
+ */
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_errno.h
+++ b/src/os/win32/ngx_errno.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_ERRNO_H_INCLUDED_
 #define _NGX_ERRNO_H_INCLUDED_
 
--- a/src/os/win32/ngx_files.c
+++ b/src/os/win32/ngx_files.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_FILES_H_INCLUDED_
 #define _NGX_FILES_H_INCLUDED_
 
--- a/src/os/win32/ngx_os.h
+++ b/src/os/win32/ngx_os.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_OS_H_INCLUDED_
 #define _NGX_OS_H_INCLUDED_
 
deleted file mode 100644
--- a/src/os/win32/ngx_os_thread.c
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-#include <ngx_config.h>
-
-#include <ngx_log.h>
-#include <ngx_os_thread.h>
-
-
-int ngx_create_os_thread(ngx_os_tid_t *tid, void *stack,
-                         ngx_thread_start_routine_t func, void *arg,
-                         ngx_log_t log)
-{
-    ngx_os_tid_t  id;
-    int  dummy;       /* needed in Win9X only, in NT can be NULL */
-
-    id = CreateThread(NULL, stack_size, func, arg, 0, &dummy);
-
-    if (id == NULL) {
-        ngx_log_error(NGX_LOG_ERR, log, err, "CreateThread() failed");
-        return NGX_ERROR;
-    }
-
-    *tid = id;
-
-    return NGX_OK;
-}
deleted file mode 100644
--- a/src/os/win32/ngx_os_thread.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _NGX_OS_THREAD_H_INCLUDED_
-#define _NGX_OS_THREAD_H_INCLUDED_
-
-
-#include <ngx_config.h>
-
-
-typedef HANDLE                  ngx_os_tid_t;
-typedef int                     ngx_tid_t;
-
-typedef LPTHREAD_START_ROUTINE  ngx_thread_start_routine_t
-
-
-#endif /* _NGX_OS_THREAD_H_INCLUDED_ */
--- a/src/os/win32/ngx_process.c
+++ b/src/os/win32/ngx_process.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_process.h
+++ b/src/os/win32/ngx_process.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_PROCESS_H_INCLUDED_
 #define _NGX_PROCESS_H_INCLUDED_
 
--- a/src/os/win32/ngx_process_cycle.c
+++ b/src/os/win32/ngx_process_cycle.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_process_cycle.h
+++ b/src/os/win32/ngx_process_cycle.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_PROCESS_CYCLE_H_INCLUDED_
 #define _NGX_PROCESS_CYCLE_H_INCLUDED_
 
deleted file mode 100644
--- a/src/os/win32/ngx_recv.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _NGX_RECV_H_INCLUDED_
-#define _NGX_RECV_H_INCLUDED_
-
-
-#include <errno.h>
-
-#define ngx_recv(fd, buf, size, flags)  recv(fd, buf, size, flags)
-
-
-#endif /* _NGX_RECV_H_INCLUDED_ */
deleted file mode 100644
--- a/src/os/win32/ngx_sendfile.c
+++ /dev/null
@@ -1,145 +0,0 @@
-
-#include <ngx_config.h>
-#include <ngx_core.h>
-#include <ngx_types.h>
-#include <ngx_files.h>
-#include <ngx_socket.h>
-#include <ngx_errno.h>
-#include <ngx_log.h>
-#include <ngx_connection.h>
-#include <ngx_sendv.h>
-#include <ngx_sendfile.h>
-
-/*
-  TODO:
-       various flags
-       TransmitPackets
-*/
-
-#if (HAVE_WIN32_TRANSMITFILE)
-
-int ngx_sendfile(ngx_connection_t *c,
-                 ngx_iovec_t *headers, int hdr_cnt,
-                 ngx_fd_t fd, off_t offset, size_t nbytes,
-                 ngx_iovec_t *trailers, int trl_cnt,
-                 off_t *sent, u_int flags)
-{
-    int                    tfrc, rc;
-    ngx_err_t              tf_err, err;
-    OVERLAPPED             olp;
-    TRANSMIT_FILE_BUFFERS  tfb, *ptfb;
-
-#if 0
-    ev = c->write;
-
-    if (ev->timedout) {
-        ngx_set_socket_errno(NGX_ETIMEDOUT);
-        ngx_log_error(NGX_LOG_ERR, ev->log, 0, "TransmitFile() 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, ev->log, 0, "TransmitFile() failed");
-                return NGX_ERROR;
-            }
-
-            return ev->available;
-            }
-        }
-
-#endif
-
-        /* TODO: WSAGetOverlappedResult stuff */
-
-    }
-
-#endif
-
-
-    tf_err = 0;
-    err = 0;
-
-    olp.Internal = 0;
-    olp.InternalHigh = 0;
-    olp.Offset = (DWORD) offset;
-    olp.OffsetHigh = (DWORD) (offset >> 32);
-    olp.hEvent = NULL;
-
-    if (headers || trailers) {
-        tfb.Head = headers->ngx_iov_base;
-        tfb.HeadLength = headers->ngx_iov_len;
-        tfb.Tail = trailers->ngx_iov_base;
-        tfb.TailLength = trailers->ngx_iov_len;
-        ptfb = &tfb;
-
-    } else {
-        ptfb = NULL;
-    }
-
-#if 1
-    flags = TF_DISCONNECT|TF_REUSE_SOCKET;
-    tfrc = transmitfile(c->fd, NULL, 0, 0, &olp, NULL, flags);
-#else
-    tfrc = TransmitFile(c->fd, fd, nbytes, 0, &olp, ptfb, flags);
-#endif
-
-#if 0
-#if 1
-    tfrc = TransmitFile(c->fd, fd, nbytes, 0, &olp, ptfb, 0);
-#else
-    tfrc = TransmitFile(c->fd, fd, nbytes, 0, NULL, ptfb, 0);
-#endif
-#endif
-
-    if (tfrc == 0) {
-        tf_err = ngx_socket_errno;
-        ngx_log_error(NGX_LOG_NOTICE, c->log, tf_err,
-                      "ngx_sendfile: TransmitFile failed");
-        if (tf_err == WSA_IO_PENDING) {
-            return NGX_AGAIN;
-        }
-    }
-
-    /* set sent */
-#if 0
-    rc = WSAGetOverlappedResult(c->fd, &olp, (unsigned long *) sent, 0, NULL);
-#else
-    *sent = olp.InternalHigh;
-    rc = 1;
-#endif
-
-    ngx_log_debug(c->log, "TransmitFile: %d, @%I64d %I64d:%d" _
-                  tfrc _ offset _ *sent _ nbytes);
-
-    if (rc == 0) {
-        err = ngx_socket_errno;
-        ngx_log_error(NGX_LOG_ERR, c->log, err,
-                     "ngx_sendfile: WSAGetOverlappedResult failed");
-    }
-
-    if (tfrc == 0) {
-        if (tf_err != NGX_EAGAIN) {
-            ngx_log_error(NGX_LOG_ERR, c->log, tf_err,
-                          "ngx_sendfile: TransmitFile failed");
-            return NGX_ERROR;
-        }
-
-        ngx_log_error(NGX_LOG_INFO, c->log, tf_err,
-                      "ngx_sendfile: TransmitFile sent only %I64d bytes",
-                      *sent);
-    }
-
-    if (rc == 0)
-        return NGX_ERROR;
-
-    return NGX_OK;
-}
-
-#endif
deleted file mode 100644
--- a/src/os/win32/ngx_sendv.c
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#include <ngx_config.h>
-
-#include <ngx_core.h>
-#include <ngx_types.h>
-#include <ngx_errno.h>
-#include <ngx_connection.h>
-#include <ngx_log.h>
-#include <ngx_sendv.h>
-
-#include <ngx_string.h>
-
-ssize_t ngx_sendv(ngx_connection_t *c, ngx_iovec_t *iovec, int n)
-{
-    int         rc;
-    size_t      sent;
-    ngx_err_t   err;
-
-#if 0
-    /* STUB: WSABUF must be 4-byte aligned. Undocumented WSAEINVAL error */
-    ngx_iovec_t iov[10];
-    ngx_memcpy(iov, iovec, n * sizeof(ngx_iovec_t));
-#endif
-
-    sent = 0;
-
-    ngx_log_debug(c->log, "WSASend: %d, %d, %08x" _ c->fd _ n _ iovec);
-
-    rc = WSASend(c->fd, iovec, n, &sent, 0, NULL, NULL);
-
-    ngx_log_debug(c->log, "WSASend() done");
-
-    if (rc == SOCKET_ERROR) {
-        err = ngx_socket_errno;
-
-        if (err == NGX_EAGAIN) {
-            ngx_log_error(NGX_LOG_INFO, c->log, err, "WSASend() eagain");
-            return NGX_AGAIN;
-        }
-
-        ngx_log_error(NGX_LOG_ERR, c->log, err, "WSASend() failed");
-        return NGX_ERROR;
-    }
-
-    return sent;
-}
deleted file mode 100644
--- a/src/os/win32/ngx_sendv.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _NGX_SENDV_H_INCLUDED_
-#define _NGX_SENDV_H_INCLUDED_
-
-
-#include <ngx_config.h>
-#include <ngx_connection.h>
-
-typedef WSABUF        ngx_iovec_t;
-#define ngx_iov_base  buf
-#define ngx_iov_len   len
-
-ssize_t ngx_sendv(ngx_connection_t *c, ngx_iovec_t *iovec, int n);
-
-
-#endif /* _NGX_SENDV_H_INCLUDED_ */
--- a/src/os/win32/ngx_service.c
+++ b/src/os/win32/ngx_service.c
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 
 #define NGX_SERVICE_CONTROL_SHUTDOWN   128
 #define NGX_SERVICE_CONTROL_REOPEN     129
--- a/src/os/win32/ngx_shared.h
+++ b/src/os/win32/ngx_shared.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_SHARED_H_INCLUDED_
 #define _NGX_SHARED_H_INCLUDED_
 
--- a/src/os/win32/ngx_socket.c
+++ b/src/os/win32/ngx_socket.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_socket.h
+++ b/src/os/win32/ngx_socket.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_SOCKET_H_INCLUDED_
 #define _NGX_SOCKET_H_INCLUDED_
 
--- a/src/os/win32/ngx_stat.c
+++ b/src/os/win32/ngx_stat.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_thread.h
+++ b/src/os/win32/ngx_thread.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_THREAD_H_INCLUDED_
 #define _NGX_THREAD_H_INCLUDED_
 
--- a/src/os/win32/ngx_time.c
+++ b/src/os/win32/ngx_time.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
@@ -13,7 +18,7 @@ void ngx_gettimeofday(struct timeval *tp
     /*
      * A file time is a 64-bit value that represents the number
      * of 100-nanosecond intervals that have elapsed since
-     * 12:00 A.M. January 1, 1601 (UTC).
+     * January 1, 1601 12:00 A.M. UTC.
      *
      * Between January 1, 1970 (Epoch) and January 1, 1601 there were
      * 134744 days,
--- a/src/os/win32/ngx_time.h
+++ b/src/os/win32/ngx_time.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_TIME_H_INCLUDED_
 #define _NGX_TIME_H_INCLUDED_
 
--- a/src/os/win32/ngx_types.h
+++ b/src/os/win32/ngx_types.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_TYPES_H_INCLUDED_
 #define _NGX_TYPES_H_INCLUDED_
 
--- a/src/os/win32/ngx_user.h
+++ b/src/os/win32/ngx_user.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_USER_H_INCLUDED_
 #define _NGX_USER_H_INCLUDED_
 
--- a/src/os/win32/ngx_win32_config.h
+++ b/src/os/win32/ngx_win32_config.h
@@ -1,3 +1,9 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
 #ifndef _NGX_WIN32_CONFIG_H_INCLUDED_
 #define _NGX_WIN32_CONFIG_H_INCLUDED_
 
@@ -8,8 +14,8 @@
 #define WIN32_LEAN_AND_MEAN
 
 /*
- * we need to include windows.h explicity before winsock2.h because
- * the warning 4201 is enabled in windows.h
+ * we need to include <windows.h> explicity before <winsock2.h> because
+ * the warning 4201 is enabled in <windows.h>
  */
 #include <windows.h>
 
--- a/src/os/win32/ngx_win32_init.c
+++ b/src/os/win32/ngx_win32_init.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_wsarecv.c
+++ b/src/os/win32/ngx_wsarecv.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_wsarecv_chain.c
+++ b/src/os/win32/ngx_wsarecv_chain.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>
--- a/src/os/win32/ngx_wsasend_chain.c
+++ b/src/os/win32/ngx_wsasend_chain.c
@@ -1,3 +1,8 @@
+
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
 
 #include <ngx_config.h>
 #include <ngx_core.h>