47d223e981
*) Feature: the worker_priority directive. *) Change: both tcp_nopush and tcp_nodelay directives affect the transferred response. *) Bugfix: nginx did not call initgroups(). Thanks to Andrew Sitnikov and Andrei Nigmatulin. *) Change: now the ngx_http_autoindex_module shows the file size in the bytes. *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the broken symlink was in a directory. *) Bugfix: the files bigger than 4G could not be transferred using sendfile. *) Bugfix: if the backend was resolved to several backends and there was an error while the response waiting then process may got caught in an endless loop. *) Bugfix: the worker process may exit with the "unknown cycle" message when the /dev/poll method was used. *) Bugfix: "close() channel failed" errors. *) Bugfix: the autodetection of the "nobody" and "nogroup" groups. *) Bugfix: the send_lowat directive did not work on Linux. *) Bugfix: the segmentation fault occurred if there was no events section in configuration. *) Bugfix: nginx could not be built on OpenBSD. *) Bugfix: the double slashes in "://" in the URI were converted to ":/".
150 lines
2.9 KiB
C
150 lines
2.9 KiB
C
|
|
/*
|
|
* Copyright (C) Igor Sysoev
|
|
*/
|
|
|
|
|
|
#ifndef _NGX_WIN32_CONFIG_H_INCLUDED_
|
|
#define _NGX_WIN32_CONFIG_H_INCLUDED_
|
|
|
|
|
|
#define STRICT
|
|
#define WIN32_LEAN_AND_MEAN
|
|
|
|
/*
|
|
* we need to include <windows.h> explicity before <winsock2.h> because
|
|
* the warning 4201 is enabled in <windows.h>
|
|
*/
|
|
#include <windows.h>
|
|
|
|
#ifdef _MSC_VER
|
|
#pragma warning(disable:4201)
|
|
#endif
|
|
|
|
#include <winsock2.h>
|
|
#include <mswsock.h>
|
|
#include <shellapi.h>
|
|
#include <stddef.h> /* offsetof() */
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <stdarg.h>
|
|
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
/* the end of the precompiled headers */
|
|
#pragma hdrstop
|
|
|
|
#pragma warning(default:4201)
|
|
|
|
|
|
/* disable some "-W4" level warnings */
|
|
|
|
/* disable warnings about some 'type cast */
|
|
#pragma warning(disable:4054)
|
|
#pragma warning(disable:4055)
|
|
|
|
/* unreferenced formal parameter */
|
|
#pragma warning(disable:4100)
|
|
|
|
/* conditional expression is constant */
|
|
#pragma warning(disable:4127)
|
|
|
|
/* unreachable code */
|
|
#pragma warning(disable:4702)
|
|
|
|
/* assignment within conditional expression */
|
|
#pragma warning(disable:4706)
|
|
|
|
/* disable "function 'ngx_handle_write_event' not inlined" */
|
|
#pragma warning(disable:4710)
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef __WATCOMC__
|
|
/* unreachable code */
|
|
#pragma disable_message(201)
|
|
/* disable "Symbol 'ngx_rbtree_min' has been defined, but not referenced" */
|
|
#pragma disable_message(202)
|
|
#endif
|
|
|
|
|
|
#ifdef __BORLANDC__
|
|
/* the end of the precompiled headers */
|
|
#pragma hdrstop
|
|
|
|
#pragma warn -8027
|
|
#pragma warn -8057
|
|
#pragma warn -8060
|
|
|
|
/* STUB */
|
|
#pragma warn -8004
|
|
#pragma warn -8008
|
|
#pragma warn -8065
|
|
#pragma warn -8066
|
|
#pragma warn -8075
|
|
#endif
|
|
|
|
|
|
#include <ngx_auto_config.h>
|
|
|
|
|
|
#define ngx_inline __inline
|
|
|
|
|
|
#ifdef _MSC_VER
|
|
typedef unsigned __int32 uint32_t;
|
|
typedef __int32 int32_t;
|
|
#else /* __WATCOMC__ */
|
|
typedef unsigned int uint32_t;
|
|
typedef int int32_t;
|
|
#endif
|
|
|
|
typedef __int64 int64_t;
|
|
typedef unsigned __int64 uint64_t;
|
|
typedef u_int uintptr_t;
|
|
|
|
typedef int ssize_t;
|
|
typedef long time_t;
|
|
typedef __int64 off_t;
|
|
typedef uint32_t in_addr_t;
|
|
typedef u_short in_port_t;
|
|
typedef int sig_atomic_t;
|
|
typedef uint32_t ngx_atomic_t;
|
|
|
|
|
|
#define TIME_T_LEN sizeof("-2147483648") - 1
|
|
#define OFF_T_MAX_VALUE 9223372036854775807
|
|
#define NGX_HAVE_LITTLE_ENDIAN 1
|
|
|
|
#define NGX_THREADS 1
|
|
|
|
|
|
#define NGX_WIN_NT 200000
|
|
|
|
|
|
#ifndef NGX_HAVE_INHERITED_NONBLOCK
|
|
#define NGX_HAVE_INHERITED_NONBLOCK 1
|
|
#endif
|
|
|
|
#ifndef NGX_HAVE_WIN32_TRANSMITPACKETS
|
|
#define NGX_HAVE_WIN32_TRANSMITPACKETS 1
|
|
#define NGX_HAVE_WIN32_TRANSMITFILE 0
|
|
#endif
|
|
|
|
#ifndef NGX_HAVE_WIN32_TRANSMITFILE
|
|
#define NGX_HAVE_WIN32_TRANSMITFILE 1
|
|
#endif
|
|
|
|
#if (NGX_HAVE_WIN32_TRANSMITPACKETS) || (NGX_HAVE_WIN32_TRANSMITFILE)
|
|
#define NGX_HAVE_SENDFILE 1
|
|
#endif
|
|
|
|
#ifndef NGX_HAVE_SO_SNDLOWAT
|
|
/* setsockopt(SO_SNDLOWAT) returns error WSAENOPROTOOPT */
|
|
#define NGX_HAVE_SO_SNDLOWAT 0
|
|
#endif
|
|
|
|
|
|
#endif /* _NGX_WIN32_CONFIG_H_INCLUDED_ */
|