Mercurial > hg > nginx
changeset 4249:e648bb470e12 stable-1.0
Merging r4155, r4219, r4220, r4230:
Windows related fixes:
*) Fixed segmentation fault with empty config on Windows.
See here for report:
http://mailman.nginx.org/pipermail/nginx-ru/2011-September/043288.html
*) Recent SDKs allow to build IPV6 only for Windows XP or above.
*) Fixing conflict with SDK off_t definition.
*) Fix of building by Microsoft Visual C++ 10 compiler.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 01 Nov 2011 13:56:26 +0000 |
parents | 2fad4d19ea4b |
children | ac0a3dc948c3 |
files | auto/cc/name src/http/ngx_http.c src/os/win32/ngx_win32_config.h |
diffstat | 3 files changed, 19 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/auto/cc/name Tue Nov 01 13:49:31 2011 +0000 +++ b/auto/cc/name Tue Nov 01 13:56:26 2011 +0000 @@ -25,6 +25,13 @@ if [ "$CC" = cl ]; then if `$NGX_WINE $CC -v 2>&1 \ + | grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16' \ + >/dev/null 2>&1`; then + + NGX_CC_NAME=msvc10 + echo " + using Microsoft Visual C++ 10 compiler" + + else if `$NGX_WINE $CC -v 2>&1 \ | grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14' \ >/dev/null 2>&1`; then @@ -43,6 +50,7 @@ echo " + using Microsoft Visual C++ compiler" fi fi + fi else if [ "$CC" = wcl386 ]; then
--- a/src/http/ngx_http.c Tue Nov 01 13:49:31 2011 +0000 +++ b/src/http/ngx_http.c Tue Nov 01 13:56:26 2011 +0000 @@ -1747,10 +1747,12 @@ #if (NGX_WIN32) { - ngx_iocp_conf_t *iocpcf; - - iocpcf = ngx_event_get_conf(cf->cycle->conf_ctx, ngx_iocp_module); - if (iocpcf->acceptex_read) { + ngx_iocp_conf_t *iocpcf = NULL; + + if (ngx_get_conf(cf->cycle->conf_ctx, ngx_events_module)) { + iocpcf = ngx_event_get_conf(cf->cycle->conf_ctx, ngx_iocp_module); + } + if (iocpcf && iocpcf->acceptex_read) { ls->post_accept_buffer_size = cscf->client_header_buffer_size; } }
--- a/src/os/win32/ngx_win32_config.h Tue Nov 01 13:49:31 2011 +0000 +++ b/src/os/win32/ngx_win32_config.h Tue Nov 01 13:56:26 2011 +0000 @@ -9,7 +9,7 @@ #define WIN32 0x0400 -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #define STRICT @@ -126,8 +126,11 @@ typedef int intptr_t; typedef u_int uintptr_t; +/* Windows defines off_t as long, which is 32-bit */ +typedef __int64 off_t; +#define _OFF_T_DEFINED + typedef int ssize_t; -typedef __int64 off_t; typedef uint32_t in_addr_t; typedef u_short in_port_t; typedef int sig_atomic_t;