diff options
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> |