summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2011-11-01 13:56:26 +0000
committerIgor Sysoev <igor@sysoev.ru>2011-11-01 13:56:26 +0000
commit07eb7bec1f2c2d440fc87d89c09681e5b6939f94 (patch)
tree9807c370b073b8f332d9366b552aad073324d752 /src
parent4332c96e3853fb0c3eaa3b9e7a3df1a61618056e (diff)
downloadnginx-07eb7bec1f2c2d440fc87d89c09681e5b6939f94.tar.gz
nginx-07eb7bec1f2c2d440fc87d89c09681e5b6939f94.tar.bz2
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.
Diffstat (limited to 'src')
-rw-r--r--src/http/ngx_http.c8
-rw-r--r--src/os/win32/ngx_win32_config.h7
2 files changed, 10 insertions, 5 deletions
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index 4f0b79def..1eb22f81e 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1747,10 +1747,12 @@ ngx_http_add_listening(ngx_conf_t *cf, ngx_http_conf_addr_t *addr)
#if (NGX_WIN32)
{
- ngx_iocp_conf_t *iocpcf;
+ ngx_iocp_conf_t *iocpcf = NULL;
- iocpcf = ngx_event_get_conf(cf->cycle->conf_ctx, ngx_iocp_module);
- if (iocpcf->acceptex_read) {
+ 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;
}
}
diff --git a/src/os/win32/ngx_win32_config.h b/src/os/win32/ngx_win32_config.h
index f098eae36..8ffe95c31 100644
--- a/src/os/win32/ngx_win32_config.h
+++ b/src/os/win32/ngx_win32_config.h
@@ -9,7 +9,7 @@
#define WIN32 0x0400
-#define _WIN32_WINNT 0x0500
+#define _WIN32_WINNT 0x0501
#define STRICT
@@ -126,8 +126,11 @@ typedef unsigned __int64 uint64_t;
typedef int intptr_t;
typedef u_int uintptr_t;
-typedef int ssize_t;
+/* Windows defines off_t as long, which is 32-bit */
typedef __int64 off_t;
+#define _OFF_T_DEFINED
+
+typedef int ssize_t;
typedef uint32_t in_addr_t;
typedef u_short in_port_t;
typedef int sig_atomic_t;