summaryrefslogtreecommitdiff
path: root/locks/unix/proc_mutex.c
diff options
context:
space:
mode:
authorMichael Osipov <michaelo@apache.org>2021-05-26 19:57:29 +0000
committerMichael Osipov <michaelo@apache.org>2021-05-26 19:57:29 +0000
commit2bcd4b3ddb108d16f1c758c00a45de9aef57aa3a (patch)
treead4fe6eb7089bb383f18955975de295d50cc5b9c /locks/unix/proc_mutex.c
parent9d19ad0aaf9382327d86b9188911d2a52f39f58b (diff)
downloadapr-2bcd4b3ddb108d16f1c758c00a45de9aef57aa3a.tar.gz
Backport r1861050, r1805309, r1861045, r1861046, r1861049, r1861053, r1861054, r1861061 from trunk:
* misc/win32/misc.c (apr_get_oslevel): Fix condition to actually return APR_EGENERAL on unsupported OS. === apr_socket_listen(): Allow larger backlog queue lengths on Windows 8+. Starting with Windows 8, the socket listen() function accepts a special SOMAXCONN_HINT(N) argument that allows making the backlog queue length larger than the otherwise predefined limit of around 200: https://msdn.microsoft.com/en-us/library/windows/desktop/ms739168 https://blogs.msdn.microsoft.com/winsdk/2015/06/01/winsocks-listen-backlog-offers-more-flexibility-in-windows-8/ Having a larger listen backlog can be used for certain high performance applications that need to handle lots of incoming connections. One example would be the httpd server with it's "ListenBacklog" directive where setting it to a larger value currently allows serving more concurrent connections on Windows with mpm_winnt. * include/arch/win32/apr_arch_misc.h (enum apr_oslevel_e): Add APR_WIN_8. * misc/win32/misc.c (apr_get_oslevel): Determine whether we are running on Windows 7 or on Windows 8+. * network_io/win32/sockets.c (SOMAXCONN_HINT): Define this macro in case we are building against an older version of Windows SDK. (apr_socket_listen): Use SOMAXCONN_HINT() for the backlog queue length if it's supported by the Windows version we are running on. Patch by: Evgeny Kotkov <evgeny.kotkov {at} visualsvn.com> === * misc/win32/misc.c (apr_get_oslevel): Check return code from GetVersionEx(). === * misc/win32/misc.c (apr_get_oslevel): Do not use static variables to protect from potential race condition. === * misc/win32/misc.c (apr_get_oslevel): Use GetVersionExW() with OSVERSIONINFOEXW to version information with service pack info. === * include/arch/win32/apr_arch_misc.h (enum apr_oslevel_e): Add APR_WIN_8_1. * misc/win32/misc.c (apr_get_oslevel): Determine whether we are running on Windows 8 or on Windows 8.1+. === Fix problem that apr_get_oslevel() was returning APR_WIN_XP on Windows 10. * include/arch/win32/apr_arch_misc.h (enum apr_oslevel_e): Add APR_WIN_10. * misc/win32/misc.c (apr_get_oslevel): Return APR_WIN_10 when dwMajorVersion is greater than 6. === * include/arch/win32/apr_arch_misc.h (enum apr_oslevel_e): Add APR_WIN_7_SP1. * misc/win32/misc.c (apr_get_oslevel): Determine whether we are running on Windows 7 or on Windows 7 SP1. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1890230 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'locks/unix/proc_mutex.c')
0 files changed, 0 insertions, 0 deletions