summaryrefslogtreecommitdiffhomepage
path: root/src/os/win32 (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2014-03-31Win32: fixed cpu hog by cache manager on exit (ticket #514).Maxim Dounin1-3/+3
The "ngx_quit" may be reset by the worker thread before it's seen by a ngx_cache_manager_thread(), resulting in an infinite loop. Make sure to test ngx_exiting as well.
2014-03-06Added connection serial number in logging of left open sockets.Sergey Kandaurov1-2/+2
2014-02-13Win32: MSVC 2013 compatibility.Maxim Dounin1-0/+8
Warnings about GetVersionEx() deprecation silenced. Precompiled object linked in.
2014-01-30Core: handle getsockopt(TCP_FASTOPEN) failures.Piotr Sikora1-0/+1
Linux returns EOPNOTSUPP for non-TCP sockets and ENOPROTOOPT for TCP sockets, because getsockopt(TCP_FASTOPEN) is not implemented so far. While there, lower the log level from ALERT to NOTICE to match other getsockopt() failures. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2014-01-04Win32: support for UTF-16 surrogate pairs (ticket #457).Maxim Dounin1-2/+21
2014-01-04Added per-process random seeding (ticket #456).Maxim Dounin1-1/+1
2013-11-29Win32: fixed init_process without master process (ticket #453).Maxim Dounin1-10/+0
Init process callbacks are called by ngx_worker_thread(), there is no need to call them in ngx_single_process_cycle().
2013-10-31Win32: plugged memory leak.Maxim Dounin1-0/+2
2013-10-31Core: handling of getsockopt(TCP_DEFER_ACCEPT) failures.Maxim Dounin1-0/+1
Recent Linux versions started to return EOPNOTSUPP to getsockopt() calls on unix sockets, resulting in log pollution on binary upgrade. Such errors are silently ignored now.
2013-09-23Added ngx_filename_cmp() with "/" sorted to the left.Maxim Dounin2-6/+5
This patch fixes incorrect handling of auto redirect in configurations like: location /0 { } location /a- { } location /a/ { proxy_pass ... } With previously used sorting, this resulted in the following locations tree (as "-" is less than "/"): "/a-" "/0" "/a/" and a request to "/a" didn't match "/a/" with auto_redirect, as it didn't traverse relevant tree node during lookup (it tested "/a-", then "/0", and then falled back to null location). To preserve locale use for non-ASCII characters on case-insensetive systems, libc's tolower() used.
2013-09-04Win32: MinGW GCC compatibility.Maxim Dounin5-6/+14
Several warnings silenced, notably (ngx_socket_t) -1 is now checked on socket operations instead of -1, as ngx_socket_t is unsigned on win32 and gcc complains on comparison. With this patch, it's now possible to compile nginx using mingw gcc, with options we normally compile on win32.
2013-09-04Win32: Borland C compatibility fixes.Maxim Dounin1-0/+8
Several false positive warnings silenced, notably W8012 "Comparing signed and unsigned" (due to u_short values promoted to int), and W8072 "Suspicious pointer arithmetic" (due to large type values added to pointers). With this patch, it's now again possible to compile nginx using bcc32, with options we normally compile on win32 minus ipv6 and ssl.
2013-09-04Win32: Open Watcom C compatibility fixes.Maxim Dounin1-0/+14
Precompiled headers are disabled as they lead to internal compiler errors with long configure lines. Couple of false positive warnings silenced. Various win32 typedefs are adjusted to work with Open Watcom C 1.9 headers. With this patch, it's now again possible to compile nginx using owc386, with options we normally compile on win32 minus ipv6 and ssl.
2013-09-02Added the NGX_EBADF define.Valentin Bartenev1-0/+1
2013-07-30Autoindex: improved ngx_de_info() error handling.Sergey Kandaurov1-0/+1
This allows to build a directory listing whenever a loop exists in symbolic link resolution of the path argument.
2013-07-05Make macros safe.Gleb Smirnoff1-3/+3
2013-05-29Win32: added missing reset of wev->ready on WSAEWOULDBLOCK.Maxim Dounin1-0/+1
This fixes connection hang with websockets proxy, and likely some other places as well.
2013-03-20Win32: disabled MSVC warning about '\0' not fitting into array.Valentin Bartenev1-0/+3
We believe that this warning produces more inconvience than real benefit. Here is an example to trigger: u_char a[4] = "test";
2012-12-17Implemented IPv6 support for URLs specified using domain names.Ruslan Ermilov1-0/+1
This includes "debug_connection", upstreams, "proxy_pass", etc. (ticket #92) To preserve compatibility, "listen" specified with a domain name selects the first IPv4 address, if available. If not available, the first IPv6 address will be used (ticket #186).
2012-09-28Correct plural form for "path" in the whole source base.Andrey Belov1-4/+4
2012-08-02Win32: fixed build with Visual Studio 2005 Express.Maxim Dounin1-0/+1
It is available via winetricks which makes it still usable, and has an old crtdefs.h which uses _CRT_SECURE_NO_DEPRECATE instead of _CRT_SECURE_NO_WARNINGS to suppress warnings. Reported by HAYASHI Kentaro, http://mailman.nginx.org/pipermail/nginx-devel/2012-August/002542.html
2012-07-23Win32: fixed cpu hog after process startup failure.Maxim Dounin1-0/+1
If ngx_spawn_process() failed while starting a process, the process handle was closed but left non-NULL in the ngx_processes[] array. The handle later was used in WaitForMultipleObjects() (if there were multiple worker processes configured and at least one worker process was started successfully), resulting in infinite loop. Reported by Ricardo V G: http://mailman.nginx.org/pipermail/nginx-devel/2012-July/002494.html
2012-06-25Style.Maxim Dounin1-1/+1
2012-06-18Fixed return type of ngx_strerror_init().Maxim Dounin2-2/+2
2012-06-05Win32: disallowed access to various non-canonical name variants.Maxim Dounin1-33/+164
This includes trailings dots and spaces, NTFS streams (and short names, as previously checked). The checks are now also done in ngx_file_info(), thus allowing to use the "try_files" directive to protect external scripts.
2012-05-11Accept moderation in case of EMFILE/ENFILE.Maxim Dounin1-0/+2
In case of EMFILE/ENFILE returned from accept() we disable accept events, and (in case of no accept mutex used) arm timer to re-enable them later. With accept mutex we just drop it, and rely on normal accept mutex handling to re-enable accept events once it's acquired again. As we now handle errors in question, logging level was changed to "crit" (instead of "alert" used for unknown errors). Note: the code might call ngx_enable_accept_events() multiple times if there are many listen sockets. The ngx_enable_accept_events() function was modified to check if connection is already active (via c->read->active) and skip it then, thus making multiple calls safe.
2012-04-03Fixed spelling in multiline C comments.Ruslan Ermilov1-1/+1
2012-04-02Win32: improved ngx_mutex_init() stub (ticket #138).Maxim Dounin1-1/+12
This allows to run nginx with "master_process off" under Windows.
2012-04-02Win32: fixed memory allocation for shmem name (ticket #134).Maxim Dounin1-1/+1
2012-03-28Fixed win32 build after realpath changes in r4559.Maxim Dounin2-3/+3
2012-03-27Fixed unconditional MAX_PATH usage (ticket #22).Maxim Dounin1-0/+1
POSIX doesn't require it to be defined, and Debian GNU/Hurd doesn't define it. Note that if there is no MAX_PATH defined we have to use realpath() with NULL argument and free() the result.
2012-03-22Win32: added missing call to srand().Maxim Dounin1-0/+2
Found by Veracode.
2012-02-28Fixed spelling in single-line comments.Ruslan Ermilov1-1/+1
2012-01-18Copyright updated.Maxim Konovalov33-0/+33
2011-11-14Introduction of simple ngx_write_stderr() instead of ngx_log_stderr()Igor Sysoev1-0/+1
for output of ./configure options, etc., since ngx_log_stderr() output length is limited by 2048 characters defined as NGX_MAX_ERROR_STR.
2011-10-24malloc() debugging on MacOSX.Igor Sysoev1-0/+1
2011-10-20Fixing conflict with SDK off_t definition.Igor Sysoev1-1/+4
2011-10-20Recent SDKs allow to build IPV6 only for Windows XP or above.Igor Sysoev1-1/+1
2011-09-19Replaced "can not" with "cannot" and "could not" in a bunch of places.Ruslan Ermilov1-1/+1
Fixed nearby grammar errors.
2011-08-22Fix buffer overrun under Windows.Maxim Dounin1-1/+2
2011-07-24elimination of reading cache files by cache loaderIgor Sysoev1-0/+1
2011-05-16"$apr1", "{PLAIN}", and "{SSHA}" password methods in auth basic moduleIgor Sysoev2-2/+2
patch by Maxim Dounin
2011-04-22Use more precise stat.st_blocks to account cache size on UnixIgor Sysoev1-0/+1
instead of file length rounded to a file system block size. There is no similar way on Windows, so rounding to a cache->bsize is kept.
2011-01-20use SwitchToThread() instead of Sleep(0), because the laterIgor Sysoev1-1/+1
may not yield control, if there is no thread with higher priority
2010-11-25use copied strerror() messages and autoconfigured sys_nerr valueIgor Sysoev2-2/+11
2010-09-02add "Global\" prefix for signal eventsIgor Sysoev1-9/+11
2010-07-05fix building by owc12: GetLongPathName() is available since Win2K onlyIgor Sysoev1-1/+1
2010-06-29ngx_create_file_mapping()Igor Sysoev2-0/+107
2010-06-23style fixIgor Sysoev1-2/+2
2010-06-14do not free() stack allocated bufferIgor Sysoev1-1/+0