Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/nginx.c5
-rw-r--r--src/core/nginx.h6
-rw-r--r--src/core/ngx_array.c5
-rw-r--r--src/core/ngx_array.h6
-rw-r--r--src/core/ngx_buf.c5
-rw-r--r--src/core/ngx_buf.h54
-rw-r--r--src/core/ngx_conf_file.c5
-rw-r--r--src/core/ngx_conf_file.h6
-rw-r--r--src/core/ngx_config.h11
-rw-r--r--src/core/ngx_connection.c5
-rw-r--r--src/core/ngx_connection.h6
-rw-r--r--src/core/ngx_core.h13
-rw-r--r--src/core/ngx_crc.h9
-rw-r--r--src/core/ngx_cycle.c5
-rw-r--r--src/core/ngx_cycle.h6
-rw-r--r--src/core/ngx_file.c5
-rw-r--r--src/core/ngx_file.h6
-rw-r--r--src/core/ngx_garbage_collector.c5
-rw-r--r--src/core/ngx_garbage_collector.h6
-rw-r--r--src/core/ngx_inet.c6
-rw-r--r--src/core/ngx_inet.h6
-rw-r--r--src/core/ngx_list.c5
-rw-r--r--src/core/ngx_list.h6
-rw-r--r--src/core/ngx_log.c5
-rw-r--r--src/core/ngx_log.h56
-rw-r--r--src/core/ngx_output_chain.c5
-rw-r--r--src/core/ngx_palloc.c5
-rw-r--r--src/core/ngx_palloc.h8
-rw-r--r--src/core/ngx_parse.c5
-rw-r--r--src/core/ngx_parse.h6
-rw-r--r--src/core/ngx_radix_tree.c5
-rw-r--r--src/core/ngx_radix_tree.h6
-rw-r--r--src/core/ngx_rbtree.c5
-rw-r--r--src/core/ngx_rbtree.h6
-rw-r--r--src/core/ngx_regex.c5
-rw-r--r--src/core/ngx_regex.h6
-rw-r--r--src/core/ngx_slab.c7
-rw-r--r--src/core/ngx_slab.h6
-rw-r--r--src/core/ngx_spinlock.c5
-rw-r--r--src/core/ngx_string.c5
-rw-r--r--src/core/ngx_string.h41
-rw-r--r--src/core/ngx_table.h6
-rw-r--r--src/core/ngx_times.c8
-rw-r--r--src/core/ngx_times.h6
-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
-rw-r--r--src/http/modules/ngx_http_access_handler.c5
-rw-r--r--src/http/modules/ngx_http_charset_filter.c5
-rw-r--r--src/http/modules/ngx_http_chunked_filter.c5
-rw-r--r--src/http/modules/ngx_http_gzip_filter.c5
-rw-r--r--src/http/modules/ngx_http_headers_filter.c5
-rw-r--r--src/http/modules/ngx_http_index_handler.c5
-rw-r--r--src/http/modules/ngx_http_not_modified_filter.c5
-rw-r--r--src/http/modules/ngx_http_range_filter.c5
-rw-r--r--src/http/modules/ngx_http_rewrite_handler.c5
-rw-r--r--src/http/modules/ngx_http_ssi_filter.c5
-rw-r--r--src/http/modules/ngx_http_ssl_module.c5
-rw-r--r--src/http/modules/ngx_http_ssl_module.h6
-rw-r--r--src/http/modules/ngx_http_static_handler.c5
-rw-r--r--src/http/modules/ngx_http_status_handler.c5
-rw-r--r--src/http/modules/ngx_http_userid_filter.c5
-rw-r--r--src/http/modules/proxy/ngx_http_proxy_cache.c5
-rw-r--r--src/http/modules/proxy/ngx_http_proxy_handler.c5
-rw-r--r--src/http/modules/proxy/ngx_http_proxy_handler.h6
-rw-r--r--src/http/modules/proxy/ngx_http_proxy_header.c5
-rw-r--r--src/http/modules/proxy/ngx_http_proxy_parse.c5
-rw-r--r--src/http/modules/proxy/ngx_http_proxy_upstream.c5
-rw-r--r--src/http/ngx_http.c5
-rw-r--r--src/http/ngx_http.h6
-rw-r--r--src/http/ngx_http_busy_lock.c5
-rw-r--r--src/http/ngx_http_busy_lock.h6
-rw-r--r--src/http/ngx_http_cache.c5
-rw-r--r--src/http/ngx_http_cache.h6
-rw-r--r--src/http/ngx_http_config.h6
-rw-r--r--src/http/ngx_http_copy_filter.c5
-rw-r--r--src/http/ngx_http_core_module.c5
-rw-r--r--src/http/ngx_http_core_module.h6
-rw-r--r--src/http/ngx_http_file_cache.c5
-rw-r--r--src/http/ngx_http_header_filter.c5
-rw-r--r--src/http/ngx_http_log_handler.c5
-rw-r--r--src/http/ngx_http_log_handler.h6
-rw-r--r--src/http/ngx_http_parse.c7
-rw-r--r--src/http/ngx_http_parse_time.c5
-rw-r--r--src/http/ngx_http_request.c5
-rw-r--r--src/http/ngx_http_request.h6
-rw-r--r--src/http/ngx_http_request_body.c5
-rw-r--r--src/http/ngx_http_script.c5
-rw-r--r--src/http/ngx_http_script.h6
-rw-r--r--src/http/ngx_http_special_response.c5
-rw-r--r--src/http/ngx_http_write_filter.c5
-rw-r--r--src/imap/ngx_imap.c5
-rw-r--r--src/imap/ngx_imap.h6
-rw-r--r--src/imap/ngx_imap_handler.c5
-rw-r--r--src/imap/ngx_imap_parse.c5
-rw-r--r--src/imap/ngx_imap_proxy.c5
-rw-r--r--src/os/unix/ngx_aio.h6
-rw-r--r--src/os/unix/ngx_aio_read.c5
-rw-r--r--src/os/unix/ngx_aio_read_chain.c5
-rw-r--r--src/os/unix/ngx_aio_write.c5
-rw-r--r--src/os/unix/ngx_aio_write_chain.c5
-rw-r--r--src/os/unix/ngx_alloc.c5
-rw-r--r--src/os/unix/ngx_alloc.h8
-rw-r--r--src/os/unix/ngx_atomic.h6
-rw-r--r--src/os/unix/ngx_channel.c5
-rw-r--r--src/os/unix/ngx_channel.h6
-rw-r--r--src/os/unix/ngx_daemon.c5
-rw-r--r--src/os/unix/ngx_errno.c6
-rw-r--r--src/os/unix/ngx_errno.h6
-rw-r--r--src/os/unix/ngx_files.c5
-rw-r--r--src/os/unix/ngx_files.h6
-rw-r--r--src/os/unix/ngx_freebsd.h6
-rw-r--r--src/os/unix/ngx_freebsd_config.h6
-rw-r--r--src/os/unix/ngx_freebsd_init.c17
-rw-r--r--src/os/unix/ngx_freebsd_rfork_thread.c2
-rw-r--r--src/os/unix/ngx_freebsd_rfork_thread.h6
-rw-r--r--src/os/unix/ngx_freebsd_sendfile_chain.c2
-rw-r--r--src/os/unix/ngx_linux.h6
-rw-r--r--src/os/unix/ngx_linux_config.h6
-rw-r--r--src/os/unix/ngx_linux_init.c5
-rw-r--r--src/os/unix/ngx_linux_sendfile_chain.c2
-rw-r--r--src/os/unix/ngx_os.h6
-rw-r--r--src/os/unix/ngx_posix_config.h6
-rw-r--r--src/os/unix/ngx_posix_init.c5
-rw-r--r--src/os/unix/ngx_process.c5
-rw-r--r--src/os/unix/ngx_process.h6
-rw-r--r--src/os/unix/ngx_process_cycle.c5
-rw-r--r--src/os/unix/ngx_process_cycle.h6
-rw-r--r--src/os/unix/ngx_pthread_thread.c2
-rw-r--r--src/os/unix/ngx_readv_chain.c5
-rw-r--r--src/os/unix/ngx_recv.c5
-rw-r--r--src/os/unix/ngx_send.c5
-rw-r--r--src/os/unix/ngx_sendv.c28
-rw-r--r--src/os/unix/ngx_sendv.h15
-rw-r--r--src/os/unix/ngx_shared.c5
-rw-r--r--src/os/unix/ngx_shared.h6
-rw-r--r--src/os/unix/ngx_socket.c7
-rw-r--r--src/os/unix/ngx_socket.h6
-rw-r--r--src/os/unix/ngx_solaris.h6
-rw-r--r--src/os/unix/ngx_solaris_config.h6
-rw-r--r--src/os/unix/ngx_solaris_init.c5
-rw-r--r--src/os/unix/ngx_solaris_sendfilev_chain.c2
-rw-r--r--src/os/unix/ngx_thread.h6
-rw-r--r--src/os/unix/ngx_time.c5
-rw-r--r--src/os/unix/ngx_time.h6
-rw-r--r--src/os/unix/ngx_types.h6
-rw-r--r--src/os/unix/ngx_unix_init.c34
-rw-r--r--src/os/unix/ngx_user.h6
-rw-r--r--src/os/unix/ngx_writev_chain.c5
-rw-r--r--src/os/unix/ngx_x86_mutex.h30
-rw-r--r--src/os/unix/rfork_thread.S6
-rw-r--r--src/os/win32/ngx_alloc.c5
-rw-r--r--src/os/win32/ngx_alloc.h6
-rw-r--r--src/os/win32/ngx_atomic.h6
-rw-r--r--src/os/win32/ngx_errno.c13
-rw-r--r--src/os/win32/ngx_errno.h6
-rw-r--r--src/os/win32/ngx_files.c5
-rw-r--r--src/os/win32/ngx_files.h6
-rw-r--r--src/os/win32/ngx_os.h6
-rw-r--r--src/os/win32/ngx_os_thread.c26
-rw-r--r--src/os/win32/ngx_os_thread.h14
-rw-r--r--src/os/win32/ngx_process.c5
-rw-r--r--src/os/win32/ngx_process.h6
-rw-r--r--src/os/win32/ngx_process_cycle.c5
-rw-r--r--src/os/win32/ngx_process_cycle.h6
-rw-r--r--src/os/win32/ngx_recv.h10
-rw-r--r--src/os/win32/ngx_sendfile.c145
-rw-r--r--src/os/win32/ngx_sendv.c46
-rw-r--r--src/os/win32/ngx_sendv.h15
-rw-r--r--src/os/win32/ngx_service.c6
-rw-r--r--src/os/win32/ngx_shared.h6
-rw-r--r--src/os/win32/ngx_socket.c5
-rw-r--r--src/os/win32/ngx_socket.h6
-rw-r--r--src/os/win32/ngx_stat.c5
-rw-r--r--src/os/win32/ngx_thread.h6
-rw-r--r--src/os/win32/ngx_time.c7
-rw-r--r--src/os/win32/ngx_time.h6
-rw-r--r--src/os/win32/ngx_types.h6
-rw-r--r--src/os/win32/ngx_user.h6
-rw-r--r--src/os/win32/ngx_win32_config.h10
-rw-r--r--src/os/win32/ngx_win32_init.c5
-rw-r--r--src/os/win32/ngx_wsarecv.c5
-rw-r--r--src/os/win32/ngx_wsarecv_chain.c5
-rw-r--r--src/os/win32/ngx_wsasend_chain.c5
216 files changed, 1101 insertions, 1156 deletions
diff --git a/src/core/nginx.c b/src/core/nginx.c
index e9046fd95..920b60163 100644
--- a/src/core/nginx.c
+++ b/src/core/nginx.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/core/nginx.h b/src/core/nginx.h
index 769a9bf41..c53ad7a54 100644
--- 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_
diff --git a/src/core/ngx_array.c b/src/core/ngx_array.c
index 8ecb83f86..0bc25a931 100644
--- a/src/core/ngx_array.c
+++ b/src/core/ngx_array.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_array.h b/src/core/ngx_array.h
index a6a1c8aea..6a2fe0357 100644
--- 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_
diff --git a/src/core/ngx_buf.c b/src/core/ngx_buf.c
index 16398a638..ca64783e7 100644
--- a/src/core/ngx_buf.c
+++ b/src/core/ngx_buf.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_buf.h b/src/core/ngx_buf.h
index 1927ed415..fa2a544d0 100644
--- 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
-
-#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 */
+typedef void * ngx_buf_tag_t;
-/* 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;
diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
index e0fec6fa0..99c5df1cf 100644
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_conf_file.h b/src/core/ngx_conf_file.h
index d2c76131a..567c86cfd 100644
--- 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_
diff --git a/src/core/ngx_config.h b/src/core/ngx_config.h
index 63a42efd1..f23176dba 100644
--- 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_ */
diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c
index 5fc99b39e..5b663740a 100644
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.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/core/ngx_connection.h b/src/core/ngx_connection.h
index fbfe67fd2..a9250848d 100644
--- 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_
diff --git a/src/core/ngx_core.h b/src/core/ngx_core.h
index 0a12fb21a..671956e33 100644
--- 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_event_t *ev);
#define CRLF "\x0d\x0a"
-
-#define NGX_MAXHOSTNAMELEN 64
-/*
-#define NGX_MAXHOSTNAMELEN MAXHOSTNAMELEN
-*/
-
-
#endif /* _NGX_CORE_H_INCLUDED_ */
diff --git a/src/core/ngx_crc.h b/src/core/ngx_crc.h
index c6234c37a..208001d48 100644
--- 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 *data, size_t len)
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;
diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c
index e5b30b100..86528ba1e 100644
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.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/core/ngx_cycle.h b/src/core/ngx_cycle.h
index 1b24dd333..f1e88b1ed 100644
--- 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_
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index ef92a0ab1..7ae77de6e 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h
index db46d5408..d6ca67db0 100644
--- 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_
diff --git a/src/core/ngx_garbage_collector.c b/src/core/ngx_garbage_collector.c
index 924f11add..ea2529aad 100644
--- a/src/core/ngx_garbage_collector.c
+++ b/src/core/ngx_garbage_collector.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_garbage_collector.h>
diff --git a/src/core/ngx_garbage_collector.h b/src/core/ngx_garbage_collector.h
index 5bc8471dc..b445944e9 100644
--- 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_
diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c
index 94d0c72e5..5000ee076 100644
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -1,4 +1,10 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_inet.h b/src/core/ngx_inet.h
index dbdf6f0b3..5e30c9e33 100644
--- 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_
diff --git a/src/core/ngx_list.c b/src/core/ngx_list.c
index 885f8f508..85e3b6459 100644
--- a/src/core/ngx_list.c
+++ b/src/core/ngx_list.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_list.h b/src/core/ngx_list.h
index f43f235e5..b65eff361 100644
--- 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_
diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c
index e542920d4..b23d8bba1 100644
--- a/src/core/ngx_log.c
+++ b/src/core/ngx_log.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_log.h b/src/core/ngx_log.h
index 45ab6e07c..782d28ae8 100644
--- 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
/*********************************/
diff --git a/src/core/ngx_output_chain.c b/src/core/ngx_output_chain.c
index 8efd369ed..f40dfd313 100644
--- a/src/core/ngx_output_chain.c
+++ b/src/core/ngx_output_chain.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/core/ngx_palloc.c b/src/core/ngx_palloc.c
index 132eb70d7..47f9a8645 100644
--- a/src/core/ngx_palloc.c
+++ b/src/core/ngx_palloc.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_palloc.h b/src/core/ngx_palloc.h
index 1700efb45..3a3f244b3 100644
--- 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)
diff --git a/src/core/ngx_parse.c b/src/core/ngx_parse.c
index 9d62f703b..8edcc5a61 100644
--- a/src/core/ngx_parse.c
+++ b/src/core/ngx_parse.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_parse.h b/src/core/ngx_parse.h
index 630cabecc..1423a97a3 100644
--- 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_
diff --git a/src/core/ngx_radix_tree.c b/src/core/ngx_radix_tree.c
index 5c7a801d8..15949e5e1 100644
--- a/src/core/ngx_radix_tree.c
+++ b/src/core/ngx_radix_tree.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_radix_tree.h b/src/core/ngx_radix_tree.h
index a5b8c6243..2e3319b36 100644
--- 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_
diff --git a/src/core/ngx_rbtree.c b/src/core/ngx_rbtree.c
index 083ec10f8..f3c7ac9d4 100644
--- a/src/core/ngx_rbtree.c
+++ b/src/core/ngx_rbtree.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_rbtree.h b/src/core/ngx_rbtree.h
index 04d762292..47ced3ea2 100644
--- 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_
diff --git a/src/core/ngx_regex.c b/src/core/ngx_regex.c
index f4d827d83..9cae52a89 100644
--- a/src/core/ngx_regex.c
+++ b/src/core/ngx_regex.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_regex.h b/src/core/ngx_regex.h
index 3a99a2f36..1d19686af 100644
--- 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_
diff --git a/src/core/ngx_slab.c b/src/core/ngx_slab.c
index dad726530..93d7565f6 100644
--- 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)
-{
+void *ngx_slab_alloc(ngx_slab_pool_t *pool, size_t size)
+{
return NULL;
}
diff --git a/src/core/ngx_slab.h b/src/core/ngx_slab.h
index 11b249aee..0ae71004a 100644
--- 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_
diff --git a/src/core/ngx_spinlock.c b/src/core/ngx_spinlock.c
index 4de23c13b..16e6a5c81 100644
--- a/src/core/ngx_spinlock.c
+++ b/src/core/ngx_spinlock.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c
index 4cdb267dd..21de8916b 100644
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/core/ngx_string.h b/src/core/ngx_string.h
index 6b22a67ba..447542508 100644
--- 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);
diff --git a/src/core/ngx_table.h b/src/core/ngx_table.h
index f49ec3af5..7315ea3a7 100644
--- 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_
diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c
index b6d5a3f1d..90ceaaeab 100644
--- a/src/core/ngx_times.c
+++ b/src/core/ngx_times.c
@@ -1,4 +1,9 @@
+/*
+ * 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
*
diff --git a/src/core/ngx_times.h b/src/core/ngx_times.h
index 426040577..5384b5319 100644
--- 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_
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;
-}
diff --git a/src/http/modules/ngx_http_access_handler.c b/src/http/modules/ngx_http_access_handler.c
index 086f2fc0e..c9ca35f7f 100644
--- a/src/http/modules/ngx_http_access_handler.c
+++ b/src/http/modules/ngx_http_access_handler.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_charset_filter.c b/src/http/modules/ngx_http_charset_filter.c
index 662f0b28a..6906fdb09 100644
--- a/src/http/modules/ngx_http_charset_filter.c
+++ b/src/http/modules/ngx_http_charset_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_chunked_filter.c b/src/http/modules/ngx_http_chunked_filter.c
index bd4c270ce..41c7d82e8 100644
--- a/src/http/modules/ngx_http_chunked_filter.c
+++ b/src/http/modules/ngx_http_chunked_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_gzip_filter.c b/src/http/modules/ngx_http_gzip_filter.c
index 1a373784d..af89a3820 100644
--- a/src/http/modules/ngx_http_gzip_filter.c
+++ b/src/http/modules/ngx_http_gzip_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_headers_filter.c b/src/http/modules/ngx_http_headers_filter.c
index 00c0070ea..a32233f0a 100644
--- a/src/http/modules/ngx_http_headers_filter.c
+++ b/src/http/modules/ngx_http_headers_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_index_handler.c b/src/http/modules/ngx_http_index_handler.c
index 87619435d..6d2ec0572 100644
--- a/src/http/modules/ngx_http_index_handler.c
+++ b/src/http/modules/ngx_http_index_handler.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_not_modified_filter.c b/src/http/modules/ngx_http_not_modified_filter.c
index f14a78b08..a25e321d5 100644
--- a/src/http/modules/ngx_http_not_modified_filter.c
+++ b/src/http/modules/ngx_http_not_modified_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_range_filter.c b/src/http/modules/ngx_http_range_filter.c
index ce13766eb..aaeccd251 100644
--- a/src/http/modules/ngx_http_range_filter.c
+++ b/src/http/modules/ngx_http_range_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_rewrite_handler.c b/src/http/modules/ngx_http_rewrite_handler.c
index 6f00db7e8..ace05c8b7 100644
--- a/src/http/modules/ngx_http_rewrite_handler.c
+++ b/src/http/modules/ngx_http_rewrite_handler.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_ssi_filter.c b/src/http/modules/ngx_http_ssi_filter.c
index f4ddb318e..a1169f7ed 100644
--- a/src/http/modules/ngx_http_ssi_filter.c
+++ b/src/http/modules/ngx_http_ssi_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_ssl_module.c b/src/http/modules/ngx_http_ssl_module.c
index 699bd8f6a..9cc4df115 100644
--- a/src/http/modules/ngx_http_ssl_module.c
+++ b/src/http/modules/ngx_http_ssl_module.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_ssl_module.h b/src/http/modules/ngx_http_ssl_module.h
index 2bb1fe1fe..2024f8df7 100644
--- 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_
diff --git a/src/http/modules/ngx_http_static_handler.c b/src/http/modules/ngx_http_static_handler.c
index 5d27ccafc..a9ce70495 100644
--- a/src/http/modules/ngx_http_static_handler.c
+++ b/src/http/modules/ngx_http_static_handler.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_status_handler.c b/src/http/modules/ngx_http_status_handler.c
index 6fc1e777d..e0f32ce78 100644
--- a/src/http/modules/ngx_http_status_handler.c
+++ b/src/http/modules/ngx_http_status_handler.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/ngx_http_userid_filter.c b/src/http/modules/ngx_http_userid_filter.c
index e37accf8f..b7e4506fd 100644
--- a/src/http/modules/ngx_http_userid_filter.c
+++ b/src/http/modules/ngx_http_userid_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/proxy/ngx_http_proxy_cache.c b/src/http/modules/proxy/ngx_http_proxy_cache.c
index ce2226d41..aa9388843 100644
--- a/src/http/modules/proxy/ngx_http_proxy_cache.c
+++ b/src/http/modules/proxy/ngx_http_proxy_cache.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/proxy/ngx_http_proxy_handler.c b/src/http/modules/proxy/ngx_http_proxy_handler.c
index af5e54636..a5cfc7c1b 100644
--- a/src/http/modules/proxy/ngx_http_proxy_handler.c
+++ b/src/http/modules/proxy/ngx_http_proxy_handler.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/proxy/ngx_http_proxy_handler.h b/src/http/modules/proxy/ngx_http_proxy_handler.h
index 27799bbb9..e3c936ad9 100644
--- 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_
diff --git a/src/http/modules/proxy/ngx_http_proxy_header.c b/src/http/modules/proxy/ngx_http_proxy_header.c
index 9e72f629b..e00a47ae0 100644
--- a/src/http/modules/proxy/ngx_http_proxy_header.c
+++ b/src/http/modules/proxy/ngx_http_proxy_header.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/proxy/ngx_http_proxy_parse.c b/src/http/modules/proxy/ngx_http_proxy_parse.c
index 5e76dc043..096c9fa1f 100644
--- a/src/http/modules/proxy/ngx_http_proxy_parse.c
+++ b/src/http/modules/proxy/ngx_http_proxy_parse.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/modules/proxy/ngx_http_proxy_upstream.c b/src/http/modules/proxy/ngx_http_proxy_upstream.c
index 0cffbce78..8070fd85e 100644
--- a/src/http/modules/proxy/ngx_http_proxy_upstream.c
+++ b/src/http/modules/proxy/ngx_http_proxy_upstream.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/http/ngx_http.c b/src/http/ngx_http.c
index 9eb023809..01c08bb84 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.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/http/ngx_http.h b/src/http/ngx_http.h
index 23a95ed5a..4097c78f7 100644
--- 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_
diff --git a/src/http/ngx_http_busy_lock.c b/src/http/ngx_http_busy_lock.c
index 4bef15a60..92a663b0c 100644
--- a/src/http/ngx_http_busy_lock.c
+++ b/src/http/ngx_http_busy_lock.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/ngx_http_busy_lock.h b/src/http/ngx_http_busy_lock.h
index dd7ab6fdc..985eb9149 100644
--- 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_
diff --git a/src/http/ngx_http_cache.c b/src/http/ngx_http_cache.c
index 479caeae9..3b3257b0c 100644
--- a/src/http/ngx_http_cache.c
+++ b/src/http/ngx_http_cache.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/ngx_http_cache.h b/src/http/ngx_http_cache.h
index 25bf67877..1804e4c80 100644
--- 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_
diff --git a/src/http/ngx_http_config.h b/src/http/ngx_http_config.h
index ee1194102..0de9b45c5 100644
--- 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_
diff --git a/src/http/ngx_http_copy_filter.c b/src/http/ngx_http_copy_filter.c
index 617153046..34c47a7b3 100644
--- a/src/http/ngx_http_copy_filter.c
+++ b/src/http/ngx_http_copy_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index a40548e18..194a51908 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_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/http/ngx_http_core_module.h b/src/http/ngx_http_core_module.h
index 5e0e344d9..8d6490b24 100644
--- 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_
diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c
index 10cb3edcf..7d920e570 100644
--- a/src/http/ngx_http_file_cache.c
+++ b/src/http/ngx_http_file_cache.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/ngx_http_header_filter.c b/src/http/ngx_http_header_filter.c
index 20389426c..7ece679bd 100644
--- a/src/http/ngx_http_header_filter.c
+++ b/src/http/ngx_http_header_filter.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/ngx_http_log_handler.c b/src/http/ngx_http_log_handler.c
index 3de6b10dd..b9dcd05de 100644
--- a/src/http/ngx_http_log_handler.c
+++ b/src/http/ngx_http_log_handler.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/ngx_http_log_handler.h b/src/http/ngx_http_log_handler.h
index d29e70d60..2efa232bc 100644
--- 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_
diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c
index b1fb6c672..3b79c1c28 100644
--- a/src/http/ngx_http_parse.c
+++ b/src/http/ngx_http_parse.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
@@ -39,7 +44,7 @@ ngx_int_t ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b)
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) {
diff --git a/src/http/ngx_http_parse_time.c b/src/http/ngx_http_parse_time.c
index ea2a22474..49eb931d6 100644
--- a/src/http/ngx_http_parse_time.c
+++ b/src/http/ngx_http_parse_time.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_types.h>
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 209ed0cf3..d27cd8ddb 100644
--- 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>
diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h
index 79b25b032..ab7e49f53 100644
--- 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_
diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c
index 800f5491e..348f2d184 100644
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.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/http/ngx_http_script.c b/src/http/ngx_http_script.c
index 19e582a6a..57123de03 100644
--- a/src/http/ngx_http_script.c
+++ b/src/http/ngx_http_script.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/ngx_http_script.h b/src/http/ngx_http_script.h
index d3fd5fb8b..84b99a0c4 100644
--- 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_
diff --git a/src/http/ngx_http_special_response.c b/src/http/ngx_http_special_response.c
index 17efa5a90..62ba2b909 100644
--- a/src/http/ngx_http_special_response.c
+++ b/src/http/ngx_http_special_response.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c
index 2c0989d0a..c3ec7ac2e 100644
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.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/imap/ngx_imap.c b/src/imap/ngx_imap.c
index eb12b6790..acc95af7a 100644
--- a/src/imap/ngx_imap.c
+++ b/src/imap/ngx_imap.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/imap/ngx_imap.h b/src/imap/ngx_imap.h
index 023f809ec..2cc81bd97 100644
--- 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_
diff --git a/src/imap/ngx_imap_handler.c b/src/imap/ngx_imap_handler.c
index 6c97416d0..788d840b3 100644
--- a/src/imap/ngx_imap_handler.c
+++ b/src/imap/ngx_imap_handler.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/imap/ngx_imap_parse.c b/src/imap/ngx_imap_parse.c
index 8e875f9fb..bd757501c 100644
--- a/src/imap/ngx_imap_parse.c
+++ b/src/imap/ngx_imap_parse.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/imap/ngx_imap_proxy.c b/src/imap/ngx_imap_proxy.c
index 6c9c859fc..b42f47d27 100644
--- a/src/imap/ngx_imap_proxy.c
+++ b/src/imap/ngx_imap_proxy.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/os/unix/ngx_aio.h b/src/os/unix/ngx_aio.h
index a10e0b0f3..66807efa0 100644
--- 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_
diff --git a/src/os/unix/ngx_aio_read.c b/src/os/unix/ngx_aio_read.c
index 6c0c40084..49602f994 100644
--- a/src/os/unix/ngx_aio_read.c
+++ b/src/os/unix/ngx_aio_read.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/os/unix/ngx_aio_read_chain.c b/src/os/unix/ngx_aio_read_chain.c
index a2a12d23e..333c8e404 100644
--- a/src/os/unix/ngx_aio_read_chain.c
+++ b/src/os/unix/ngx_aio_read_chain.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/os/unix/ngx_aio_write.c b/src/os/unix/ngx_aio_write.c
index 319af1261..e16189a93 100644
--- a/src/os/unix/ngx_aio_write.c
+++ b/src/os/unix/ngx_aio_write.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/os/unix/ngx_aio_write_chain.c b/src/os/unix/ngx_aio_write_chain.c
index 2bfa59021..294dc1247 100644
--- a/src/os/unix/ngx_aio_write_chain.c
+++ b/src/os/unix/ngx_aio_write_chain.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/os/unix/ngx_alloc.c b/src/os/unix/ngx_alloc.c
index bb3a299e1..d2e7205e6 100644
--- a/src/os/unix/ngx_alloc.c
+++ b/src/os/unix/ngx_alloc.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/unix/ngx_alloc.h b/src/os/unix/ngx_alloc.h
index 650f8bef3..91016e598 100644
--- 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 *log);
* 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)
diff --git a/src/os/unix/ngx_atomic.h b/src/os/unix/ngx_atomic.h
index c5197e56e..6d50985b7 100644
--- 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_
diff --git a/src/os/unix/ngx_channel.c b/src/os/unix/ngx_channel.c
index 694b1d83c..d2ca1ecbd 100644
--- a/src/os/unix/ngx_channel.c
+++ b/src/os/unix/ngx_channel.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_channel.h>
diff --git a/src/os/unix/ngx_channel.h b/src/os/unix/ngx_channel.h
index 276825232..3cb1c55ec 100644
--- 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_
diff --git a/src/os/unix/ngx_daemon.c b/src/os/unix/ngx_daemon.c
index 8bad5444a..be2a91aa2 100644
--- a/src/os/unix/ngx_daemon.c
+++ b/src/os/unix/ngx_daemon.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/unix/ngx_errno.c b/src/os/unix/ngx_errno.c
index 3b12528f7..9b9c6a96d 100644
--- 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>
diff --git a/src/os/unix/ngx_errno.h b/src/os/unix/ngx_errno.h
index f539a1225..bb86b4b2c 100644
--- 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_
diff --git a/src/os/unix/ngx_files.c b/src/os/unix/ngx_files.c
index 8b906f097..ae336ae5f 100644
--- a/src/os/unix/ngx_files.c
+++ b/src/os/unix/ngx_files.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h
index 1553144cf..cb50fcee7 100644
--- 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_
diff --git a/src/os/unix/ngx_freebsd.h b/src/os/unix/ngx_freebsd.h
index cfafecf6d..a16b40728 100644
--- 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_
diff --git a/src/os/unix/ngx_freebsd_config.h b/src/os/unix/ngx_freebsd_config.h
index d3c41e89b..80e70e1a6 100644
--- 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_
diff --git a/src/os/unix/ngx_freebsd_init.c b/src/os/unix/ngx_freebsd_init.c
index 3084831cd..e59a593cf 100644
--- 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_machdep_hlt_logical_cpus;
int ngx_freebsd_net_inet_tcp_sendspace;
-int ngx_freebsd_sendfile_nbytes_bug;
-int ngx_freebsd_use_tcp_nopush;
+
+/* FreeBSD 4.9 */
+int ngx_freebsd_machdep_hlt_logical_cpus;
/* 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,
diff --git a/src/os/unix/ngx_freebsd_rfork_thread.c b/src/os/unix/ngx_freebsd_rfork_thread.c
index 5f651c38b..361fc8fb4 100644
--- 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
*/
diff --git a/src/os/unix/ngx_freebsd_rfork_thread.h b/src/os/unix/ngx_freebsd_rfork_thread.h
index ce68a4efc..f5b880335 100644
--- 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_
diff --git a/src/os/unix/ngx_freebsd_sendfile_chain.c b/src/os/unix/ngx_freebsd_sendfile_chain.c
index 5a8164f4f..81aec555c 100644
--- 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
*/
diff --git a/src/os/unix/ngx_linux.h b/src/os/unix/ngx_linux.h
index b3e415571..ba1299184 100644
--- 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_
diff --git a/src/os/unix/ngx_linux_config.h b/src/os/unix/ngx_linux_config.h
index 757a2943b..b18ec5d9d 100644
--- 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_
diff --git a/src/os/unix/ngx_linux_init.c b/src/os/unix/ngx_linux_init.c
index 7379c6a18..847c0134a 100644
--- a/src/os/unix/ngx_linux_init.c
+++ b/src/os/unix/ngx_linux_init.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/unix/ngx_linux_sendfile_chain.c b/src/os/unix/ngx_linux_sendfile_chain.c
index 3f8671266..e8f0cefef 100644
--- 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
*/
diff --git a/src/os/unix/ngx_os.h b/src/os/unix/ngx_os.h
index e4e94f2d8..8fd162de0 100644
--- 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_
diff --git a/src/os/unix/ngx_posix_config.h b/src/os/unix/ngx_posix_config.h
index 53ee9e812..75be90aee 100644
--- 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_
diff --git a/src/os/unix/ngx_posix_init.c b/src/os/unix/ngx_posix_init.c
index 7498ae609..6a64981a4 100644
--- a/src/os/unix/ngx_posix_init.c
+++ b/src/os/unix/ngx_posix_init.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/unix/ngx_process.c b/src/os/unix/ngx_process.c
index cd6fd2f1e..ca6b88c3f 100644
--- a/src/os/unix/ngx_process.c
+++ b/src/os/unix/ngx_process.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/os/unix/ngx_process.h b/src/os/unix/ngx_process.h
index 31549062c..6e00d447c 100644
--- 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_
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index 941bc4287..5614bd2e0 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.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/os/unix/ngx_process_cycle.h b/src/os/unix/ngx_process_cycle.h
index 7c14d3a83..4900a34bc 100644
--- 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_
diff --git a/src/os/unix/ngx_pthread_thread.c b/src/os/unix/ngx_pthread_thread.c
index 621565621..22ef889d6 100644
--- 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
*/
diff --git a/src/os/unix/ngx_readv_chain.c b/src/os/unix/ngx_readv_chain.c
index 9458872b7..b12198f32 100644
--- a/src/os/unix/ngx_readv_chain.c
+++ b/src/os/unix/ngx_readv_chain.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/os/unix/ngx_recv.c b/src/os/unix/ngx_recv.c
index d4d28d77d..60dd91d22 100644
--- a/src/os/unix/ngx_recv.c
+++ b/src/os/unix/ngx_recv.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/os/unix/ngx_send.c b/src/os/unix/ngx_send.c
index 2bcbdf9d7..86160057f 100644
--- a/src/os/unix/ngx_send.c
+++ b/src/os/unix/ngx_send.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/os/unix/ngx_sendv.c b/src/os/unix/ngx_sendv.c
deleted file mode 100644
index 810caaee9..000000000
--- 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;
-}
diff --git a/src/os/unix/ngx_sendv.h b/src/os/unix/ngx_sendv.h
deleted file mode 100644
index 0859a2500..000000000
--- 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_ */
diff --git a/src/os/unix/ngx_shared.c b/src/os/unix/ngx_shared.c
index a19ca5315..0d2888df1 100644
--- a/src/os/unix/ngx_shared.c
+++ b/src/os/unix/ngx_shared.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/unix/ngx_shared.h b/src/os/unix/ngx_shared.h
index ca077df42..40bf7bfa9 100644
--- 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_
diff --git a/src/os/unix/ngx_socket.c b/src/os/unix/ngx_socket.c
index da9ccbbd0..859a980a9 100644
--- a/src/os/unix/ngx_socket.c
+++ b/src/os/unix/ngx_socket.c
@@ -1,4 +1,9 @@
+/*
+ * 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.
diff --git a/src/os/unix/ngx_socket.h b/src/os/unix/ngx_socket.h
index 4e2eab441..8664fe67c 100644
--- 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_
diff --git a/src/os/unix/ngx_solaris.h b/src/os/unix/ngx_solaris.h
index d66c65733..7c076d6f2 100644
--- 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_
diff --git a/src/os/unix/ngx_solaris_config.h b/src/os/unix/ngx_solaris_config.h
index 25ec28bc3..b8867465b 100644
--- 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_
diff --git a/src/os/unix/ngx_solaris_init.c b/src/os/unix/ngx_solaris_init.c
index 25fa14dcc..7186f1fd0 100644
--- a/src/os/unix/ngx_solaris_init.c
+++ b/src/os/unix/ngx_solaris_init.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/unix/ngx_solaris_sendfilev_chain.c b/src/os/unix/ngx_solaris_sendfilev_chain.c
index f6dca9c15..8b0d3d60b 100644
--- 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
*/
diff --git a/src/os/unix/ngx_thread.h b/src/os/unix/ngx_thread.h
index 69d3c348d..f78a7c02c 100644
--- 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_
diff --git a/src/os/unix/ngx_time.c b/src/os/unix/ngx_time.c
index 8647e0e69..fd667b042 100644
--- a/src/os/unix/ngx_time.c
+++ b/src/os/unix/ngx_time.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/unix/ngx_time.h b/src/os/unix/ngx_time.h
index 7cf3d01af..43c2027de 100644
--- 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_
diff --git a/src/os/unix/ngx_types.h b/src/os/unix/ngx_types.h
index bdad25dd7..a7e21ace1 100644
--- 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_
diff --git a/src/os/unix/ngx_unix_init.c b/src/os/unix/ngx_unix_init.c
deleted file mode 100644
index ab33979ec..000000000
--- 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);
-}
diff --git a/src/os/unix/ngx_user.h b/src/os/unix/ngx_user.h
index 0aed208cc..54f6aaa7d 100644
--- 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_
diff --git a/src/os/unix/ngx_writev_chain.c b/src/os/unix/ngx_writev_chain.c
index afe49a947..c7b17c23d 100644
--- a/src/os/unix/ngx_writev_chain.c
+++ b/src/os/unix/ngx_writev_chain.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/os/unix/ngx_x86_mutex.h b/src/os/unix/ngx_x86_mutex.h
deleted file mode 100644
index a8ed2eee2..000000000
--- 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));
-}
diff --git a/src/os/unix/rfork_thread.S b/src/os/unix/rfork_thread.S
index 5abb9f831..af79ca2b0 100644
--- a/src/os/unix/rfork_thread.S
+++ b/src/os/unix/rfork_thread.S
@@ -1,4 +1,10 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
+
#include <sys/syscall.h>
#include <machine/asm.h>
diff --git a/src/os/win32/ngx_alloc.c b/src/os/win32/ngx_alloc.c
index 591e61bcb..8b0cc20b1 100644
--- a/src/os/win32/ngx_alloc.c
+++ b/src/os/win32/ngx_alloc.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/win32/ngx_alloc.h b/src/os/win32/ngx_alloc.h
index d6ea00a2b..66798ceb3 100644
--- 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_
diff --git a/src/os/win32/ngx_atomic.h b/src/os/win32/ngx_atomic.h
index 9d75fabd5..994026139 100644
--- 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_
diff --git a/src/os/win32/ngx_errno.c b/src/os/win32/ngx_errno.c
index 865fbe37b..16bb2a5af 100644
--- 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>
diff --git a/src/os/win32/ngx_errno.h b/src/os/win32/ngx_errno.h
index d55b3956d..7ee9d560b 100644
--- 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_
diff --git a/src/os/win32/ngx_files.c b/src/os/win32/ngx_files.c
index 6ed4ff00f..c3be4fb65 100644
--- a/src/os/win32/ngx_files.c
+++ b/src/os/win32/ngx_files.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index c59e79d16..0a01ecc3d 100644
--- 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_
diff --git a/src/os/win32/ngx_os.h b/src/os/win32/ngx_os.h
index c04eacaa8..3072e3bdd 100644
--- 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_
diff --git a/src/os/win32/ngx_os_thread.c b/src/os/win32/ngx_os_thread.c
deleted file mode 100644
index c9d540cc1..000000000
--- 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;
-}
diff --git a/src/os/win32/ngx_os_thread.h b/src/os/win32/ngx_os_thread.h
deleted file mode 100644
index 81eb3b968..000000000
--- 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_ */
diff --git a/src/os/win32/ngx_process.c b/src/os/win32/ngx_process.c
index 6d78c1c13..23b169738 100644
--- a/src/os/win32/ngx_process.c
+++ b/src/os/win32/ngx_process.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/win32/ngx_process.h b/src/os/win32/ngx_process.h
index 767a88d23..ba4603c31 100644
--- 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_
diff --git a/src/os/win32/ngx_process_cycle.c b/src/os/win32/ngx_process_cycle.c
index 93a2cdb3b..b6d2578ca 100644
--- a/src/os/win32/ngx_process_cycle.c
+++ b/src/os/win32/ngx_process_cycle.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/os/win32/ngx_process_cycle.h b/src/os/win32/ngx_process_cycle.h
index 0a91e84f5..7803686ec 100644
--- 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_
diff --git a/src/os/win32/ngx_recv.h b/src/os/win32/ngx_recv.h
deleted file mode 100644
index e92832cc7..000000000
--- 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_ */
diff --git a/src/os/win32/ngx_sendfile.c b/src/os/win32/ngx_sendfile.c
deleted file mode 100644
index 2dd779d19..000000000
--- 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
diff --git a/src/os/win32/ngx_sendv.c b/src/os/win32/ngx_sendv.c
deleted file mode 100644
index b04362990..000000000
--- 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;
-}
diff --git a/src/os/win32/ngx_sendv.h b/src/os/win32/ngx_sendv.h
deleted file mode 100644
index 0d20310b7..000000000
--- 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_ */
diff --git a/src/os/win32/ngx_service.c b/src/os/win32/ngx_service.c
index 64a54ee63..d9c9ad587 100644
--- a/src/os/win32/ngx_service.c
+++ b/src/os/win32/ngx_service.c
@@ -1,4 +1,10 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
+
#define NGX_SERVICE_CONTROL_SHUTDOWN 128
#define NGX_SERVICE_CONTROL_REOPEN 129
diff --git a/src/os/win32/ngx_shared.h b/src/os/win32/ngx_shared.h
index ca077df42..40bf7bfa9 100644
--- 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_
diff --git a/src/os/win32/ngx_socket.c b/src/os/win32/ngx_socket.c
index e3f6f5c96..c397f7b22 100644
--- a/src/os/win32/ngx_socket.c
+++ b/src/os/win32/ngx_socket.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/win32/ngx_socket.h b/src/os/win32/ngx_socket.h
index 4401c3de2..f1459bc42 100644
--- 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_
diff --git a/src/os/win32/ngx_stat.c b/src/os/win32/ngx_stat.c
index 786bc7f38..ee63c0c94 100644
--- a/src/os/win32/ngx_stat.c
+++ b/src/os/win32/ngx_stat.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/win32/ngx_thread.h b/src/os/win32/ngx_thread.h
index cb282fbc0..be07db620 100644
--- 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_
diff --git a/src/os/win32/ngx_time.c b/src/os/win32/ngx_time.c
index 85d1a3b6d..a4412fc0b 100644
--- a/src/os/win32/ngx_time.c
+++ b/src/os/win32/ngx_time.c
@@ -1,4 +1,9 @@
+/*
+ * 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,
diff --git a/src/os/win32/ngx_time.h b/src/os/win32/ngx_time.h
index a51c4f99e..fcd494fda 100644
--- 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_
diff --git a/src/os/win32/ngx_types.h b/src/os/win32/ngx_types.h
index 760342968..0e12d376b 100644
--- 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_
diff --git a/src/os/win32/ngx_user.h b/src/os/win32/ngx_user.h
index 480a25885..561041b94 100644
--- 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_
diff --git a/src/os/win32/ngx_win32_config.h b/src/os/win32/ngx_win32_config.h
index 6bbe66bcf..7c66dbc70 100644
--- 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>
diff --git a/src/os/win32/ngx_win32_init.c b/src/os/win32/ngx_win32_init.c
index 7d9d433e5..61de9639b 100644
--- a/src/os/win32/ngx_win32_init.c
+++ b/src/os/win32/ngx_win32_init.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
diff --git a/src/os/win32/ngx_wsarecv.c b/src/os/win32/ngx_wsarecv.c
index 1598c6b20..2eb04ed09 100644
--- a/src/os/win32/ngx_wsarecv.c
+++ b/src/os/win32/ngx_wsarecv.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/os/win32/ngx_wsarecv_chain.c b/src/os/win32/ngx_wsarecv_chain.c
index e417cfff6..5b0f18ba8 100644
--- a/src/os/win32/ngx_wsarecv_chain.c
+++ b/src/os/win32/ngx_wsarecv_chain.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/os/win32/ngx_wsasend_chain.c b/src/os/win32/ngx_wsasend_chain.c
index eda422ed2..406d5950d 100644
--- a/src/os/win32/ngx_wsasend_chain.c
+++ b/src/os/win32/ngx_wsasend_chain.c
@@ -1,4 +1,9 @@
+/*
+ * Copyright (C) 2002-2004 Igor Sysoev
+ */
+
+
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>