# HG changeset patch # User Igor Sysoev # Date 1096360491 0 # Node ID da8c5707af39219683be654f6534bf14a97ef21c # Parent f390d1775430d1b27fc9c2732f7fcb9d592d5b61 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files diff --git a/src/core/nginx.c b/src/core/nginx.c --- a/src/core/nginx.c +++ b/src/core/nginx.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/nginx.h b/src/core/nginx.h --- a/src/core/nginx.h +++ b/src/core/nginx.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGINX_H_INCLUDED_ #define _NGINX_H_INCLUDED_ diff --git a/src/core/ngx_array.c b/src/core/ngx_array.c --- a/src/core/ngx_array.c +++ b/src/core/ngx_array.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_array.h b/src/core/ngx_array.h --- a/src/core/ngx_array.h +++ b/src/core/ngx_array.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_ARRAY_H_INCLUDED_ #define _NGX_ARRAY_H_INCLUDED_ diff --git a/src/core/ngx_buf.c b/src/core/ngx_buf.c --- a/src/core/ngx_buf.c +++ b/src/core/ngx_buf.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_buf.h b/src/core/ngx_buf.h --- a/src/core/ngx_buf.h +++ b/src/core/ngx_buf.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_BUF_H_INCLUDED_ #define _NGX_BUF_H_INCLUDED_ @@ -6,46 +12,9 @@ #include -#if 0 -/* the buf type */ - -/* the buf's content is in memory */ -#define NGX_HUNK_IN_MEMORY 0x0001 -/* the buf's content can be changed */ -#define NGX_HUNK_TEMP 0x0002 -/* the buf's content is in cache and can not be changed */ -#define NGX_HUNK_MEMORY 0x0004 -#define NGX_HUNK_MMAP 0x0008 - -/* the buf's content is recycled */ -#define NGX_HUNK_RECYCLED 0x0010 - -/* the buf's content is in a file */ -#define NGX_HUNK_FILE 0x0020 +typedef void * ngx_buf_tag_t; -#define NGX_HUNK_STORAGE (NGX_HUNK_IN_MEMORY \ - |NGX_HUNK_TEMP|NGX_HUNK_MEMORY|NGX_HUNK_MMAP \ - |NGX_HUNK_RECYCLED|NGX_HUNK_FILE) - -/* the buf flags */ - -/* in thread state flush means to write the buf completely before return */ -/* in event state flush means to start to write the buf */ -#define NGX_HUNK_FLUSH 0x0100 - -/* the last buf */ -#define NGX_HUNK_LAST 0x0200 - - -#define NGX_HUNK_PREREAD 0x2000 -#define NGX_HUNK_LAST_SHADOW 0x4000 -#define NGX_HUNK_TEMP_FILE 0x8000 -#endif - - -typedef void * ngx_buf_tag_t; - -typedef struct ngx_buf_s ngx_buf_t; +typedef struct ngx_buf_s ngx_buf_t; struct ngx_buf_s { u_char *pos; @@ -61,17 +30,18 @@ struct ngx_buf_s { ngx_buf_t *shadow; - /* the buf's content can be changed */ + /* the buf's content could be changed */ unsigned temporary:1; /* * the buf's content is in a memory cache or in a read only memory - * and can not be changed + * and must not be changed */ unsigned memory:1; - /* the buf's content is mmap()ed and can not be changed */ + /* the buf's content is mmap()ed and must not be changed */ unsigned mmap:1; + unsigned recycled:1; unsigned in_file:1; unsigned flush:1; diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c --- a/src/core/ngx_conf_file.c +++ b/src/core/ngx_conf_file.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_conf_file.h b/src/core/ngx_conf_file.h --- a/src/core/ngx_conf_file.h +++ b/src/core/ngx_conf_file.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_CONF_FILE_H_INCLUDED_ #define _NGX_HTTP_CONF_FILE_H_INCLUDED_ diff --git a/src/core/ngx_config.h b/src/core/ngx_config.h --- 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 --- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_connection.h b/src/core/ngx_connection.h --- a/src/core/ngx_connection.h +++ b/src/core/ngx_connection.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_CONNECTION_H_INCLUDED_ #define _NGX_CONNECTION_H_INCLUDED_ diff --git a/src/core/ngx_core.h b/src/core/ngx_core.h --- a/src/core/ngx_core.h +++ b/src/core/ngx_core.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_CORE_H_INCLUDED_ #define _NGX_CORE_H_INCLUDED_ @@ -70,11 +76,4 @@ typedef void (*ngx_event_handler_pt)(ngx #define CRLF "\x0d\x0a" - -#define NGX_MAXHOSTNAMELEN 64 -/* -#define NGX_MAXHOSTNAMELEN MAXHOSTNAMELEN -*/ - - #endif /* _NGX_CORE_H_INCLUDED_ */ diff --git a/src/core/ngx_crc.h b/src/core/ngx_crc.h --- a/src/core/ngx_crc.h +++ b/src/core/ngx_crc.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_CRC_H_INCLUDED_ #define _NGX_CRC_H_INCLUDED_ @@ -9,9 +15,10 @@ ngx_inline static uint32_t ngx_crc(char uint32_t sum; for (sum = 0; len; len--) { + /* * gcc 2.95.2 x86 and icc 7.1.006 compile that operator - * into the single rol opcode. + * into the single "rol" opcode. * msvc 6.0sp2 compiles it into four opcodes. */ sum = sum >> 1 | sum << 31; diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c --- a/src/core/ngx_cycle.c +++ b/src/core/ngx_cycle.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_cycle.h b/src/core/ngx_cycle.h --- a/src/core/ngx_cycle.h +++ b/src/core/ngx_cycle.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_CYCLE_H_INCLUDED_ #define _NGX_CYCLE_H_INCLUDED_ diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c --- a/src/core/ngx_file.c +++ b/src/core/ngx_file.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h --- a/src/core/ngx_file.h +++ b/src/core/ngx_file.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_FILE_H_INCLUDED_ #define _NGX_FILE_H_INCLUDED_ diff --git a/src/core/ngx_garbage_collector.c b/src/core/ngx_garbage_collector.c --- a/src/core/ngx_garbage_collector.c +++ b/src/core/ngx_garbage_collector.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_garbage_collector.h b/src/core/ngx_garbage_collector.h --- a/src/core/ngx_garbage_collector.h +++ b/src/core/ngx_garbage_collector.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_GARBAGE_COLLECTOR_H_INCLUDED_ #define _NGX_GARBAGE_COLLECTOR_H_INCLUDED_ diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c --- a/src/core/ngx_inet.c +++ b/src/core/ngx_inet.c @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #include #include diff --git a/src/core/ngx_inet.h b/src/core/ngx_inet.h --- a/src/core/ngx_inet.h +++ b/src/core/ngx_inet.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_INET_H_INCLUDED_ #define _NGX_INET_H_INCLUDED_ diff --git a/src/core/ngx_list.c b/src/core/ngx_list.c --- a/src/core/ngx_list.c +++ b/src/core/ngx_list.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_list.h b/src/core/ngx_list.h --- a/src/core/ngx_list.h +++ b/src/core/ngx_list.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_LIST_H_INCLUDED_ #define _NGX_LIST_H_INCLUDED_ diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c --- a/src/core/ngx_log.c +++ b/src/core/ngx_log.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_log.h b/src/core/ngx_log.h --- a/src/core/ngx_log.h +++ b/src/core/ngx_log.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_LOG_H_INCLUDED_ #define _NGX_LOG_H_INCLUDED_ @@ -24,8 +30,8 @@ #define NGX_LOG_DEBUG_IMAP 0x200 /* - * after the adding a new debug level do not forget to update - * debug_levels[] in src/core/ngx_log.c + * do not forget to update debug_levels[] in src/core/ngx_log.c + * after the adding a new debug level */ #define NGX_LOG_DEBUG_FIRST NGX_LOG_DEBUG_CORE @@ -34,50 +40,6 @@ #define NGX_LOG_DEBUG_ALL 0x7ffffff0 -/* - "[%time] [%level] %pid#%tid: %message:(%errno)%errstr, while %action" - " %peer and while processing %context" - - ---- - message = "recv() failed"; - errno = 32; - action = "reading request headers from client"; - peer = "192.168.1.1"; - context = "URL /" - - "[2002/08/20 12:00:00] [error] 412#3: recv() failed (32: Broken pipe)" - " while reading request headers from client 192.168.1.1" - " and while processing URL /" - - ---- - message = "recv() failed"; - errno = 32; - ngx_http_proxy_error_context_t: - action = "reading headers from server %s for client %s and " - "while processing %s" - backend = "127.0.0.1"; - peer = "192.168.1.1"; - context = "URL /" - - "[2002/08/20 12:00:00] [error] 412#3: recv() failed (32: Broken pipe)" - " while reading headers from backend 127.0.0.1" - " for client 192.168.1.1 and while processing URL /" - - ---- - "[alert] 412#3: ngx_alloc: malloc() 102400 bytes failed (12: Cannot " - "allocate memory) while reading request headers from client 192.168.1.1" - " and while processing URL /" - - - OLD: - "... while ", action = "reading client request headers" - "... while reading client request headers" - "... while ", action = "reading client request headers" - context: pop3 user account - "... while reading client command for 'john_doe'" -*/ - - typedef size_t (*ngx_log_handler_pt) (void *ctx, char *buf, size_t len); @@ -88,7 +50,7 @@ struct ngx_log_s { ngx_log_handler_pt handler; }; -#define MAX_ERROR_STR 2048 +#define MAX_ERROR_STR 2048 /*********************************/ diff --git a/src/core/ngx_output_chain.c b/src/core/ngx_output_chain.c --- a/src/core/ngx_output_chain.c +++ b/src/core/ngx_output_chain.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c --- a/src/core/ngx_palloc.c +++ b/src/core/ngx_palloc.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_palloc.h b/src/core/ngx_palloc.h --- a/src/core/ngx_palloc.h +++ b/src/core/ngx_palloc.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_PALLOC_H_INCLUDED_ #define _NGX_PALLOC_H_INCLUDED_ @@ -8,7 +14,7 @@ /* * NGX_MAX_ALLOC_FROM_POOL should be (ngx_page_size - 1), i.e. 4095 on x86. - * On FreeBSD 5.x it allows to use zero copy send. + * On FreeBSD 5.x it allows to use the zero copy sending. * On Windows NT it decreases a number of locked pages in a kernel. */ #define NGX_MAX_ALLOC_FROM_POOL (ngx_pagesize - 1) diff --git a/src/core/ngx_parse.c b/src/core/ngx_parse.c --- a/src/core/ngx_parse.c +++ b/src/core/ngx_parse.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_parse.h b/src/core/ngx_parse.h --- a/src/core/ngx_parse.h +++ b/src/core/ngx_parse.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_PARSE_H_INCLUDED_ #define _NGX_PARSE_H_INCLUDED_ diff --git a/src/core/ngx_radix_tree.c b/src/core/ngx_radix_tree.c --- a/src/core/ngx_radix_tree.c +++ b/src/core/ngx_radix_tree.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_radix_tree.h b/src/core/ngx_radix_tree.h --- a/src/core/ngx_radix_tree.h +++ b/src/core/ngx_radix_tree.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_RADIX_TREE_H_INCLUDED_ #define _NGX_RADIX_TREE_H_INCLUDED_ diff --git a/src/core/ngx_rbtree.c b/src/core/ngx_rbtree.c --- a/src/core/ngx_rbtree.c +++ b/src/core/ngx_rbtree.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_rbtree.h b/src/core/ngx_rbtree.h --- a/src/core/ngx_rbtree.h +++ b/src/core/ngx_rbtree.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_RBTREE_H_INCLUDED_ #define _NGX_RBTREE_H_INCLUDED_ diff --git a/src/core/ngx_regex.c b/src/core/ngx_regex.c --- a/src/core/ngx_regex.c +++ b/src/core/ngx_regex.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_regex.h b/src/core/ngx_regex.h --- a/src/core/ngx_regex.h +++ b/src/core/ngx_regex.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_REGEX_H_INCLUDED_ #define _NGX_REGEX_H_INCLUDED_ diff --git a/src/core/ngx_slab.c b/src/core/ngx_slab.c --- a/src/core/ngx_slab.c +++ b/src/core/ngx_slab.c @@ -1,8 +1,11 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + void *ngx_slab_alloc(ngx_slab_pool_t *pool, size_t size) { - - return NULL; } diff --git a/src/core/ngx_slab.h b/src/core/ngx_slab.h --- 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 --- a/src/core/ngx_spinlock.c +++ b/src/core/ngx_spinlock.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c --- a/src/core/ngx_string.c +++ b/src/core/ngx_string.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/core/ngx_string.h b/src/core/ngx_string.h --- a/src/core/ngx_string.h +++ b/src/core/ngx_string.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_STRING_H_INCLUDED_ #define _NGX_STRING_H_INCLUDED_ @@ -19,48 +25,47 @@ typedef struct { #if (WIN32) #define ngx_strncasecmp(s1, s2, n) \ - strnicmp((const char *) s1, (const char *) s2, n) + strnicmp((const char *) s1, (const char *) s2, n) #define ngx_strcasecmp(s1, s2) \ - stricmp((const char *) s1, (const char *) s2) + stricmp((const char *) s1, (const char *) s2) -#define ngx_snprintf _snprintf -#define ngx_vsnprintf _vsnprintf +#define ngx_snprintf _snprintf +#define ngx_vsnprintf _vsnprintf #else #define ngx_strncasecmp(s1, s2, n) \ - strncasecmp((const char *) s1, (const char *) s2, n) + strncasecmp((const char *) s1, (const char *) s2, n) #define ngx_strcasecmp(s1, s2) \ - strcasecmp((const char *) s1, (const char *) s2) + strcasecmp((const char *) s1, (const char *) s2) -#define ngx_snprintf snprintf -#define ngx_vsnprintf vsnprintf +#define ngx_snprintf snprintf +#define ngx_vsnprintf vsnprintf #endif #define ngx_strncmp(s1, s2, n) \ - strncmp((const char *) s1, (const char *) s2, n) + strncmp((const char *) s1, (const char *) s2, n) /* msvc and icc compile strcmp() to inline loop */ -#define ngx_strcmp(s1, s2) strcmp((const char *) s1, (const char *) s2) +#define ngx_strcmp(s1, s2) strcmp((const char *) s1, (const char *) s2) -#define ngx_strstr(s1, s2) strstr((const char *) s1, (const char *) s2) -#define ngx_strlen(s) strlen((const char *) s) +#define ngx_strstr(s1, s2) strstr((const char *) s1, (const char *) s2) +#define ngx_strlen(s) strlen((const char *) s) /* - * msvc and icc compile memset() to inline "rep stos" - * while ZeroMemory and bzero are calls. - * - * icc can also inline mov's of a zeroed register for small blocks. + * msvc and icc compile memset() to the inline "rep stos" + * while ZeroMemory() and bzero() are the calls. + * icc may also inline several mov's of a zeroed register for small blocks. */ #define ngx_memzero(buf, n) memset(buf, 0, n) -/* msvc and icc compile memcpy() to inline "rep movs" */ +/* msvc and icc compile memcpy() to the inline "rep movs" */ #define ngx_memcpy(dst, src, n) memcpy(dst, src, n) #define ngx_cpymem(dst, src, n) ((u_char *) memcpy(dst, src, n)) + n -/* msvc and icc compile memcmp() to inline loop */ +/* msvc and icc compile memcmp() to the inline loop */ #define ngx_memcmp memcmp u_char *ngx_cpystrn(u_char *dst, u_char *src, size_t n); diff --git a/src/core/ngx_table.h b/src/core/ngx_table.h --- 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 --- a/src/core/ngx_times.c +++ b/src/core/ngx_times.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include @@ -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 --- 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 --- a/src/event/modules/ngx_aio_module.c +++ b/src/event/modules/ngx_aio_module.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/modules/ngx_aio_module.h b/src/event/modules/ngx_aio_module.h --- a/src/event/modules/ngx_aio_module.h +++ b/src/event/modules/ngx_aio_module.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_AIO_MODULE_H_INCLUDED_ #define _NGX_AIO_MODULE_H_INCLUDED_ diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c --- 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 --- 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 --- 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 --- 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 --- 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 --- 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 --- 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 --- 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 --- 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 --- 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 --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h --- a/src/event/ngx_event.h +++ b/src/event/ngx_event.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_EVENT_H_INCLUDED_ #define _NGX_EVENT_H_INCLUDED_ diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c --- a/src/event/ngx_event_accept.c +++ b/src/event/ngx_event_accept.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_acceptex.c b/src/event/ngx_event_acceptex.c --- a/src/event/ngx_event_acceptex.c +++ b/src/event/ngx_event_acceptex.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_aio_read.c b/src/event/ngx_event_aio_read.c deleted file mode 100644 --- a/src/event/ngx_event_aio_read.c +++ /dev/null @@ -1,113 +0,0 @@ - -#include -#include -#include -#include -#include -#include -#include - -#if (HAVE_KQUEUE) -#include -#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 --- a/src/event/ngx_event_aio_write.c +++ /dev/null @@ -1,116 +0,0 @@ - -#include -#include -#include -#include -#include -#include -#include - -#if (HAVE_KQUEUE) -#include -#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 --- a/src/event/ngx_event_busy_lock.c +++ b/src/event/ngx_event_busy_lock.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_busy_lock.h b/src/event/ngx_event_busy_lock.h --- a/src/event/ngx_event_busy_lock.h +++ b/src/event/ngx_event_busy_lock.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_EVENT_BUSY_LOCK_H_INCLUDED_ #define _NGX_EVENT_BUSY_LOCK_H_INCLUDED_ diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c --- a/src/event/ngx_event_connect.c +++ b/src/event/ngx_event_connect.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_connect.h b/src/event/ngx_event_connect.h --- a/src/event/ngx_event_connect.h +++ b/src/event/ngx_event_connect.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_EVENT_CONNECT_H_INCLUDED_ #define _NGX_EVENT_CONNECT_H_INCLUDED_ diff --git a/src/event/ngx_event_connectex.c b/src/event/ngx_event_connectex.c --- a/src/event/ngx_event_connectex.c +++ b/src/event/ngx_event_connectex.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_mutex.c b/src/event/ngx_event_mutex.c --- a/src/event/ngx_event_mutex.c +++ b/src/event/ngx_event_mutex.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_openssl.h b/src/event/ngx_event_openssl.h --- a/src/event/ngx_event_openssl.h +++ b/src/event/ngx_event_openssl.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_EVENT_OPENSSL_H_INCLUDED_ #define _NGX_EVENT_OPENSSL_H_INCLUDED_ diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c --- a/src/event/ngx_event_pipe.c +++ b/src/event/ngx_event_pipe.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include @@ -656,8 +661,12 @@ ngx_inline static void ngx_event_pipe_re #if 0 b->type &= ~(NGX_HUNK_TEMP|NGX_HUNK_IN_MEMORY|NGX_HUNK_RECYCLED); #endif - b->temporary = 0; - b->recycled = 0; + b->in_file = 0; + b->temp_file = 0; + b->flush = 0; + b->zerocopy_busy = 0; + b->last_shadow = 0; + b->shadow = NULL; b = next; } @@ -669,9 +678,10 @@ ngx_inline static void ngx_event_pipe_re |NGX_HUNK_LAST_SHADOW); #endif - b->temporary = 0; - b->recycled = 0; - b->last_shadow = 0; + b->in_file = 0; + b->temp_file = 0; + b->flush = 0; + b->zerocopy_busy = 0; b->shadow = NULL; diff --git a/src/event/ngx_event_pipe.h b/src/event/ngx_event_pipe.h --- 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 --- a/src/event/ngx_event_posted.c +++ b/src/event/ngx_event_posted.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_posted.h b/src/event/ngx_event_posted.h --- a/src/event/ngx_event_posted.h +++ b/src/event/ngx_event_posted.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_EVENT_POSTED_H_INCLUDED_ #define _NGX_EVENT_POSTED_H_INCLUDED_ diff --git a/src/event/ngx_event_recv.c b/src/event/ngx_event_recv.c deleted file mode 100644 --- a/src/event/ngx_event_recv.c +++ /dev/null @@ -1,147 +0,0 @@ - -#include -#include -#include -#include -#include -#include - -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 --- 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 --- a/src/event/ngx_event_timer.c +++ b/src/event/ngx_event_timer.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h --- a/src/event/ngx_event_timer.h +++ b/src/event/ngx_event_timer.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_EVENT_TIMER_H_INCLUDED_ #define _NGX_EVENT_TIMER_H_INCLUDED_ diff --git a/src/event/ngx_event_wsarecv.c b/src/event/ngx_event_wsarecv.c deleted file mode 100644 --- a/src/event/ngx_event_wsarecv.c +++ /dev/null @@ -1,97 +0,0 @@ - -#include - -#include -#include -#include -#include -#include - - -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 --- a/src/http/modules/ngx_http_access_handler.c +++ b/src/http/modules/ngx_http_access_handler.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_charset_filter.c b/src/http/modules/ngx_http_charset_filter.c --- a/src/http/modules/ngx_http_charset_filter.c +++ b/src/http/modules/ngx_http_charset_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_chunked_filter.c b/src/http/modules/ngx_http_chunked_filter.c --- a/src/http/modules/ngx_http_chunked_filter.c +++ b/src/http/modules/ngx_http_chunked_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_gzip_filter.c b/src/http/modules/ngx_http_gzip_filter.c --- a/src/http/modules/ngx_http_gzip_filter.c +++ b/src/http/modules/ngx_http_gzip_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_headers_filter.c b/src/http/modules/ngx_http_headers_filter.c --- a/src/http/modules/ngx_http_headers_filter.c +++ b/src/http/modules/ngx_http_headers_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_index_handler.c b/src/http/modules/ngx_http_index_handler.c --- a/src/http/modules/ngx_http_index_handler.c +++ b/src/http/modules/ngx_http_index_handler.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_not_modified_filter.c b/src/http/modules/ngx_http_not_modified_filter.c --- a/src/http/modules/ngx_http_not_modified_filter.c +++ b/src/http/modules/ngx_http_not_modified_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_range_filter.c b/src/http/modules/ngx_http_range_filter.c --- a/src/http/modules/ngx_http_range_filter.c +++ b/src/http/modules/ngx_http_range_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_rewrite_handler.c b/src/http/modules/ngx_http_rewrite_handler.c --- a/src/http/modules/ngx_http_rewrite_handler.c +++ b/src/http/modules/ngx_http_rewrite_handler.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_ssi_filter.c b/src/http/modules/ngx_http_ssi_filter.c --- a/src/http/modules/ngx_http_ssi_filter.c +++ b/src/http/modules/ngx_http_ssi_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_ssl_module.c b/src/http/modules/ngx_http_ssl_module.c --- a/src/http/modules/ngx_http_ssl_module.c +++ b/src/http/modules/ngx_http_ssl_module.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_ssl_module.h b/src/http/modules/ngx_http_ssl_module.h --- a/src/http/modules/ngx_http_ssl_module.h +++ b/src/http/modules/ngx_http_ssl_module.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_SSL_H_INCLUDED_ #define _NGX_HTTP_SSL_H_INCLUDED_ diff --git a/src/http/modules/ngx_http_static_handler.c b/src/http/modules/ngx_http_static_handler.c --- a/src/http/modules/ngx_http_static_handler.c +++ b/src/http/modules/ngx_http_static_handler.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_status_handler.c b/src/http/modules/ngx_http_status_handler.c --- a/src/http/modules/ngx_http_status_handler.c +++ b/src/http/modules/ngx_http_status_handler.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/ngx_http_userid_filter.c b/src/http/modules/ngx_http_userid_filter.c --- a/src/http/modules/ngx_http_userid_filter.c +++ b/src/http/modules/ngx_http_userid_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/proxy/ngx_http_proxy_cache.c b/src/http/modules/proxy/ngx_http_proxy_cache.c --- a/src/http/modules/proxy/ngx_http_proxy_cache.c +++ b/src/http/modules/proxy/ngx_http_proxy_cache.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/proxy/ngx_http_proxy_handler.c b/src/http/modules/proxy/ngx_http_proxy_handler.c --- a/src/http/modules/proxy/ngx_http_proxy_handler.c +++ b/src/http/modules/proxy/ngx_http_proxy_handler.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/proxy/ngx_http_proxy_handler.h b/src/http/modules/proxy/ngx_http_proxy_handler.h --- a/src/http/modules/proxy/ngx_http_proxy_handler.h +++ b/src/http/modules/proxy/ngx_http_proxy_handler.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_PROXY_HANDLER_H_INCLUDED_ #define _NGX_HTTP_PROXY_HANDLER_H_INCLUDED_ diff --git a/src/http/modules/proxy/ngx_http_proxy_header.c b/src/http/modules/proxy/ngx_http_proxy_header.c --- a/src/http/modules/proxy/ngx_http_proxy_header.c +++ b/src/http/modules/proxy/ngx_http_proxy_header.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/proxy/ngx_http_proxy_parse.c b/src/http/modules/proxy/ngx_http_proxy_parse.c --- a/src/http/modules/proxy/ngx_http_proxy_parse.c +++ b/src/http/modules/proxy/ngx_http_proxy_parse.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/modules/proxy/ngx_http_proxy_upstream.c b/src/http/modules/proxy/ngx_http_proxy_upstream.c --- a/src/http/modules/proxy/ngx_http_proxy_upstream.c +++ b/src/http/modules/proxy/ngx_http_proxy_upstream.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c --- a/src/http/ngx_http.c +++ b/src/http/ngx_http.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http.h b/src/http/ngx_http.h --- a/src/http/ngx_http.h +++ b/src/http/ngx_http.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_H_INCLUDED_ #define _NGX_HTTP_H_INCLUDED_ diff --git a/src/http/ngx_http_busy_lock.c b/src/http/ngx_http_busy_lock.c --- a/src/http/ngx_http_busy_lock.c +++ b/src/http/ngx_http_busy_lock.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_busy_lock.h b/src/http/ngx_http_busy_lock.h --- a/src/http/ngx_http_busy_lock.h +++ b/src/http/ngx_http_busy_lock.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_BUSY_LOCK_H_INCLUDED_ #define _NGX_HTTP_BUSY_LOCK_H_INCLUDED_ diff --git a/src/http/ngx_http_cache.c b/src/http/ngx_http_cache.c --- a/src/http/ngx_http_cache.c +++ b/src/http/ngx_http_cache.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_cache.h b/src/http/ngx_http_cache.h --- a/src/http/ngx_http_cache.h +++ b/src/http/ngx_http_cache.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_CACHE_H_INCLUDED_ #define _NGX_HTTP_CACHE_H_INCLUDED_ diff --git a/src/http/ngx_http_config.h b/src/http/ngx_http_config.h --- 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 --- a/src/http/ngx_http_copy_filter.c +++ b/src/http/ngx_http_copy_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_core_module.h b/src/http/ngx_http_core_module.h --- a/src/http/ngx_http_core_module.h +++ b/src/http/ngx_http_core_module.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_CORE_H_INCLUDED_ #define _NGX_HTTP_CORE_H_INCLUDED_ diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c --- a/src/http/ngx_http_file_cache.c +++ b/src/http/ngx_http_file_cache.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_header_filter.c b/src/http/ngx_http_header_filter.c --- a/src/http/ngx_http_header_filter.c +++ b/src/http/ngx_http_header_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_log_handler.c b/src/http/ngx_http_log_handler.c --- a/src/http/ngx_http_log_handler.c +++ b/src/http/ngx_http_log_handler.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_log_handler.h b/src/http/ngx_http_log_handler.h --- a/src/http/ngx_http_log_handler.h +++ b/src/http/ngx_http_log_handler.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_LOG_HANDLER_H_INCLUDED_ #define _NGX_HTTP_LOG_HANDLER_H_INCLUDED_ diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c --- a/src/http/ngx_http_parse.c +++ b/src/http/ngx_http_parse.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include @@ -39,7 +44,7 @@ ngx_int_t ngx_http_parse_request_line(ng while (p < b->last && state < sw_done) { ch = *p++; - /* gcc 2.95.2 and vc 6.0 compile this switch as an jump table */ + /* gcc 2.95.2 and msvc 6.0 compile this switch as an jump table */ switch (state) { diff --git a/src/http/ngx_http_parse_time.c b/src/http/ngx_http_parse_time.c --- a/src/http/ngx_http_parse_time.c +++ b/src/http/ngx_http_parse_time.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c --- 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 #include #include diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h --- a/src/http/ngx_http_request.h +++ b/src/http/ngx_http_request.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_REQUEST_H_INCLUDED_ #define _NGX_HTTP_REQUEST_H_INCLUDED_ diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c --- a/src/http/ngx_http_request_body.c +++ b/src/http/ngx_http_request_body.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c --- a/src/http/ngx_http_script.c +++ b/src/http/ngx_http_script.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_script.h b/src/http/ngx_http_script.h --- a/src/http/ngx_http_script.h +++ b/src/http/ngx_http_script.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_HTTP_SCRIPT_H_INCLUDED_ #define _NGX_HTTP_SCRIPT_H_INCLUDED_ diff --git a/src/http/ngx_http_special_response.c b/src/http/ngx_http_special_response.c --- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c --- a/src/http/ngx_http_write_filter.c +++ b/src/http/ngx_http_write_filter.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/imap/ngx_imap.c b/src/imap/ngx_imap.c --- a/src/imap/ngx_imap.c +++ b/src/imap/ngx_imap.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/imap/ngx_imap.h b/src/imap/ngx_imap.h --- a/src/imap/ngx_imap.h +++ b/src/imap/ngx_imap.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_IMAP_H_INCLUDED_ #define _NGX_IMAP_H_INCLUDED_ diff --git a/src/imap/ngx_imap_handler.c b/src/imap/ngx_imap_handler.c --- a/src/imap/ngx_imap_handler.c +++ b/src/imap/ngx_imap_handler.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/imap/ngx_imap_parse.c b/src/imap/ngx_imap_parse.c --- a/src/imap/ngx_imap_parse.c +++ b/src/imap/ngx_imap_parse.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/imap/ngx_imap_proxy.c b/src/imap/ngx_imap_proxy.c --- a/src/imap/ngx_imap_proxy.c +++ b/src/imap/ngx_imap_proxy.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_aio.h b/src/os/unix/ngx_aio.h --- a/src/os/unix/ngx_aio.h +++ b/src/os/unix/ngx_aio.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_AIO_H_INCLUDED_ #define _NGX_AIO_H_INCLUDED_ diff --git a/src/os/unix/ngx_aio_read.c b/src/os/unix/ngx_aio_read.c --- a/src/os/unix/ngx_aio_read.c +++ b/src/os/unix/ngx_aio_read.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_aio_read_chain.c b/src/os/unix/ngx_aio_read_chain.c --- a/src/os/unix/ngx_aio_read_chain.c +++ b/src/os/unix/ngx_aio_read_chain.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_aio_write.c b/src/os/unix/ngx_aio_write.c --- a/src/os/unix/ngx_aio_write.c +++ b/src/os/unix/ngx_aio_write.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_aio_write_chain.c b/src/os/unix/ngx_aio_write_chain.c --- a/src/os/unix/ngx_aio_write_chain.c +++ b/src/os/unix/ngx_aio_write_chain.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_alloc.c b/src/os/unix/ngx_alloc.c --- a/src/os/unix/ngx_alloc.c +++ b/src/os/unix/ngx_alloc.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_alloc.h b/src/os/unix/ngx_alloc.h --- a/src/os/unix/ngx_alloc.h +++ b/src/os/unix/ngx_alloc.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_ALLOC_H_INCLUDED_ #define _NGX_ALLOC_H_INCLUDED_ @@ -16,7 +22,7 @@ void *ngx_calloc(size_t size, ngx_log_t * Linux has memalign() or posix_memalign() * Solaris has memalign() * FreeBSD has not memalign() or posix_memalign() but its malloc() alignes - * allocations bigger than page size at page boundary. + * allocations bigger than page size at the page boundary. */ #if (HAVE_POSIX_MEMALIGN || HAVE_MEMALIGN) diff --git a/src/os/unix/ngx_atomic.h b/src/os/unix/ngx_atomic.h --- 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 --- a/src/os/unix/ngx_channel.c +++ b/src/os/unix/ngx_channel.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_channel.h b/src/os/unix/ngx_channel.h --- a/src/os/unix/ngx_channel.h +++ b/src/os/unix/ngx_channel.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_CHANNEL_H_INCLUDED_ #define _NGX_CHANNEL_H_INCLUDED_ diff --git a/src/os/unix/ngx_daemon.c b/src/os/unix/ngx_daemon.c --- a/src/os/unix/ngx_daemon.c +++ b/src/os/unix/ngx_daemon.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_errno.c b/src/os/unix/ngx_errno.c --- 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 #include diff --git a/src/os/unix/ngx_errno.h b/src/os/unix/ngx_errno.h --- a/src/os/unix/ngx_errno.h +++ b/src/os/unix/ngx_errno.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_ERRNO_H_INCLUDED_ #define _NGX_ERRNO_H_INCLUDED_ diff --git a/src/os/unix/ngx_files.c b/src/os/unix/ngx_files.c --- a/src/os/unix/ngx_files.c +++ b/src/os/unix/ngx_files.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h --- a/src/os/unix/ngx_files.h +++ b/src/os/unix/ngx_files.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_FILES_H_INCLUDED_ #define _NGX_FILES_H_INCLUDED_ diff --git a/src/os/unix/ngx_freebsd.h b/src/os/unix/ngx_freebsd.h --- 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 --- 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 --- 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 #include -/* FreeBSD 3.4 at least */ +/* FreeBSD 3.0 at least */ char ngx_freebsd_kern_ostype[20]; char ngx_freebsd_kern_osrelease[20]; int ngx_freebsd_kern_osreldate; int ngx_freebsd_hw_ncpu; +int ngx_freebsd_net_inet_tcp_sendspace; + +/* FreeBSD 4.9 */ int ngx_freebsd_machdep_hlt_logical_cpus; -int ngx_freebsd_net_inet_tcp_sendspace; -int ngx_freebsd_sendfile_nbytes_bug; -int ngx_freebsd_use_tcp_nopush; /* FreeBSD 5.0 */ int ngx_freebsd_kern_ipc_zero_copy_send; +int ngx_freebsd_sendfile_nbytes_bug; +int ngx_freebsd_use_tcp_nopush; + + ngx_os_io_t ngx_os_io = { ngx_unix_recv, ngx_readv_chain, diff --git a/src/os/unix/ngx_freebsd_rfork_thread.c b/src/os/unix/ngx_freebsd_rfork_thread.c --- 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 --- 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 --- 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 --- 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 --- 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 --- a/src/os/unix/ngx_linux_init.c +++ b/src/os/unix/ngx_linux_init.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_linux_sendfile_chain.c b/src/os/unix/ngx_linux_sendfile_chain.c --- 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 --- 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 --- 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 --- a/src/os/unix/ngx_posix_init.c +++ b/src/os/unix/ngx_posix_init.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_process.c b/src/os/unix/ngx_process.c --- a/src/os/unix/ngx_process.c +++ b/src/os/unix/ngx_process.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_process.h b/src/os/unix/ngx_process.h --- a/src/os/unix/ngx_process.h +++ b/src/os/unix/ngx_process.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_PROCESS_H_INCLUDED_ #define _NGX_PROCESS_H_INCLUDED_ diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c --- a/src/os/unix/ngx_process_cycle.c +++ b/src/os/unix/ngx_process_cycle.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_process_cycle.h b/src/os/unix/ngx_process_cycle.h --- a/src/os/unix/ngx_process_cycle.h +++ b/src/os/unix/ngx_process_cycle.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_PROCESS_CYCLE_H_INCLUDED_ #define _NGX_PROCESS_CYCLE_H_INCLUDED_ diff --git a/src/os/unix/ngx_pthread_thread.c b/src/os/unix/ngx_pthread_thread.c --- 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 --- a/src/os/unix/ngx_readv_chain.c +++ b/src/os/unix/ngx_readv_chain.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_recv.c b/src/os/unix/ngx_recv.c --- a/src/os/unix/ngx_recv.c +++ b/src/os/unix/ngx_recv.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_send.c b/src/os/unix/ngx_send.c --- a/src/os/unix/ngx_send.c +++ b/src/os/unix/ngx_send.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_sendv.c b/src/os/unix/ngx_sendv.c deleted file mode 100644 --- a/src/os/unix/ngx_sendv.c +++ /dev/null @@ -1,28 +0,0 @@ - -#include -#include -#include -#include -#include -#include - -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 --- a/src/os/unix/ngx_sendv.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _NGX_SENDV_H_INCLUDED_ -#define _NGX_SENDV_H_INCLUDED_ - - -#include -#include - -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 --- a/src/os/unix/ngx_shared.c +++ b/src/os/unix/ngx_shared.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_shared.h b/src/os/unix/ngx_shared.h --- a/src/os/unix/ngx_shared.h +++ b/src/os/unix/ngx_shared.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_SHARED_H_INCLUDED_ #define _NGX_SHARED_H_INCLUDED_ diff --git a/src/os/unix/ngx_socket.c b/src/os/unix/ngx_socket.c --- a/src/os/unix/ngx_socket.c +++ b/src/os/unix/ngx_socket.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include @@ -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 --- 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 --- 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 --- 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 --- a/src/os/unix/ngx_solaris_init.c +++ b/src/os/unix/ngx_solaris_init.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_solaris_sendfilev_chain.c b/src/os/unix/ngx_solaris_sendfilev_chain.c --- 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 --- 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 --- a/src/os/unix/ngx_time.c +++ b/src/os/unix/ngx_time.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_time.h b/src/os/unix/ngx_time.h --- a/src/os/unix/ngx_time.h +++ b/src/os/unix/ngx_time.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_TIME_H_INCLUDED_ #define _NGX_TIME_H_INCLUDED_ diff --git a/src/os/unix/ngx_types.h b/src/os/unix/ngx_types.h --- 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 --- a/src/os/unix/ngx_unix_init.c +++ /dev/null @@ -1,34 +0,0 @@ - -#include -#include - - -#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 --- 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 --- a/src/os/unix/ngx_writev_chain.c +++ b/src/os/unix/ngx_writev_chain.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/unix/ngx_x86_mutex.h b/src/os/unix/ngx_x86_mutex.h deleted file mode 100644 --- a/src/os/unix/ngx_x86_mutex.h +++ /dev/null @@ -1,30 +0,0 @@ - - -typedef struct { - int lock; -} ngx_mutex_t; - - -static inline int ngx_spin_lock(ngx_mutex_t *m, int count) -{ - int lock; - - __asm__ __volatile(" - -get_lock: - mov $1, %1 - xchg %1, %2 - cmp $0, %1 - jne spin_lock - -spin_lock: - cmp $0, %3 - je failed - - dec %3 - rep nop - cmp $0, %2 - jne spin_lock - - ": "=q" (lock), "m" (m->lock), "q" (count)); -} diff --git a/src/os/unix/rfork_thread.S b/src/os/unix/rfork_thread.S --- a/src/os/unix/rfork_thread.S +++ b/src/os/unix/rfork_thread.S @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #include #include diff --git a/src/os/win32/ngx_alloc.c b/src/os/win32/ngx_alloc.c --- a/src/os/win32/ngx_alloc.c +++ b/src/os/win32/ngx_alloc.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_alloc.h b/src/os/win32/ngx_alloc.h --- a/src/os/win32/ngx_alloc.h +++ b/src/os/win32/ngx_alloc.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_ALLOC_H_INCLUDED_ #define _NGX_ALLOC_H_INCLUDED_ diff --git a/src/os/win32/ngx_atomic.h b/src/os/win32/ngx_atomic.h --- 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 --- 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 #include diff --git a/src/os/win32/ngx_errno.h b/src/os/win32/ngx_errno.h --- a/src/os/win32/ngx_errno.h +++ b/src/os/win32/ngx_errno.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_ERRNO_H_INCLUDED_ #define _NGX_ERRNO_H_INCLUDED_ diff --git a/src/os/win32/ngx_files.c b/src/os/win32/ngx_files.c --- a/src/os/win32/ngx_files.c +++ b/src/os/win32/ngx_files.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h --- a/src/os/win32/ngx_files.h +++ b/src/os/win32/ngx_files.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_FILES_H_INCLUDED_ #define _NGX_FILES_H_INCLUDED_ diff --git a/src/os/win32/ngx_os.h b/src/os/win32/ngx_os.h --- 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 --- a/src/os/win32/ngx_os_thread.c +++ /dev/null @@ -1,26 +0,0 @@ - - -#include - -#include -#include - - -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 --- 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 - - -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 --- a/src/os/win32/ngx_process.c +++ b/src/os/win32/ngx_process.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_process.h b/src/os/win32/ngx_process.h --- a/src/os/win32/ngx_process.h +++ b/src/os/win32/ngx_process.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_PROCESS_H_INCLUDED_ #define _NGX_PROCESS_H_INCLUDED_ diff --git a/src/os/win32/ngx_process_cycle.c b/src/os/win32/ngx_process_cycle.c --- a/src/os/win32/ngx_process_cycle.c +++ b/src/os/win32/ngx_process_cycle.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_process_cycle.h b/src/os/win32/ngx_process_cycle.h --- a/src/os/win32/ngx_process_cycle.h +++ b/src/os/win32/ngx_process_cycle.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_PROCESS_CYCLE_H_INCLUDED_ #define _NGX_PROCESS_CYCLE_H_INCLUDED_ diff --git a/src/os/win32/ngx_recv.h b/src/os/win32/ngx_recv.h deleted file mode 100644 --- a/src/os/win32/ngx_recv.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _NGX_RECV_H_INCLUDED_ -#define _NGX_RECV_H_INCLUDED_ - - -#include - -#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 --- a/src/os/win32/ngx_sendfile.c +++ /dev/null @@ -1,145 +0,0 @@ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* - 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 --- a/src/os/win32/ngx_sendv.c +++ /dev/null @@ -1,46 +0,0 @@ - -#include - -#include -#include -#include -#include -#include -#include - -#include - -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 --- a/src/os/win32/ngx_sendv.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _NGX_SENDV_H_INCLUDED_ -#define _NGX_SENDV_H_INCLUDED_ - - -#include -#include - -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 --- a/src/os/win32/ngx_service.c +++ b/src/os/win32/ngx_service.c @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #define NGX_SERVICE_CONTROL_SHUTDOWN 128 #define NGX_SERVICE_CONTROL_REOPEN 129 diff --git a/src/os/win32/ngx_shared.h b/src/os/win32/ngx_shared.h --- 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 --- a/src/os/win32/ngx_socket.c +++ b/src/os/win32/ngx_socket.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_socket.h b/src/os/win32/ngx_socket.h --- a/src/os/win32/ngx_socket.h +++ b/src/os/win32/ngx_socket.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_SOCKET_H_INCLUDED_ #define _NGX_SOCKET_H_INCLUDED_ diff --git a/src/os/win32/ngx_stat.c b/src/os/win32/ngx_stat.c --- a/src/os/win32/ngx_stat.c +++ b/src/os/win32/ngx_stat.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_thread.h b/src/os/win32/ngx_thread.h --- a/src/os/win32/ngx_thread.h +++ b/src/os/win32/ngx_thread.h @@ -1,3 +1,9 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + + #ifndef _NGX_THREAD_H_INCLUDED_ #define _NGX_THREAD_H_INCLUDED_ diff --git a/src/os/win32/ngx_time.c b/src/os/win32/ngx_time.c --- a/src/os/win32/ngx_time.c +++ b/src/os/win32/ngx_time.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include @@ -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 --- 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 --- 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 --- 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 --- 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 explicity before because + * the warning 4201 is enabled in */ #include diff --git a/src/os/win32/ngx_win32_init.c b/src/os/win32/ngx_win32_init.c --- a/src/os/win32/ngx_win32_init.c +++ b/src/os/win32/ngx_win32_init.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_wsarecv.c b/src/os/win32/ngx_wsarecv.c --- a/src/os/win32/ngx_wsarecv.c +++ b/src/os/win32/ngx_wsarecv.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_wsarecv_chain.c b/src/os/win32/ngx_wsarecv_chain.c --- a/src/os/win32/ngx_wsarecv_chain.c +++ b/src/os/win32/ngx_wsarecv_chain.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include diff --git a/src/os/win32/ngx_wsasend_chain.c b/src/os/win32/ngx_wsasend_chain.c --- a/src/os/win32/ngx_wsasend_chain.c +++ b/src/os/win32/ngx_wsasend_chain.c @@ -1,3 +1,8 @@ + +/* + * Copyright (C) 2002-2004 Igor Sysoev + */ + #include #include