summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorJeff Trawick <trawick@apache.org>2004-03-19 11:16:03 +0000
committerJeff Trawick <trawick@apache.org>2004-03-19 11:16:03 +0000
commit4d8f4c26d62142dd48570038ab80d9e98f307a9b (patch)
tree3325ee8042b40a431bcf67e66832a8888f870aa1 /configure.in
parent77b387e14b4b75f6cf38750902530fcda85429d2 (diff)
downloadhttpd-4d8f4c26d62142dd48570038ab80d9e98f307a9b.tar.gz
*) SECURITY: CAN-2004-0174 (cve.mitre.org)
Fix starvation issue on listening sockets where a short-lived connection on a rarely-accessed listening socket will cause a child to hold the accept mutex and block out new connections until another connection arrives on that rarely-accessed listening socket. With Apache 2.x there is no performance concern about enabling the logic for platforms which don't need it, so it is enabled everywhere except for Win32. [Jeff Trawick] (already in 2.0.49, propagating to mirrors now) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103029 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in7
1 files changed, 7 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index 5f393e1004..68bc23bb0e 100644
--- a/configure.in
+++ b/configure.in
@@ -235,6 +235,8 @@ case $host in
;;
esac
+APR_SETVAR(AP_NONBLOCK_WHEN_MULTI_LISTEN, [1])
+
dnl
dnl Process command line arguments. This is done early in the process so the
dnl user can get feedback quickly in case of an error.
@@ -486,6 +488,11 @@ if test "$SINGLE_LISTEN_UNSERIALIZED_ACCEPT" = "1"; then
[This platform doesn't suffer from the thundering herd problem])
fi
+if test "$AP_NONBLOCK_WHEN_MULTI_LISTEN" = "1"; then
+ AC_DEFINE(AP_NONBLOCK_WHEN_MULTI_LISTEN, 1,
+ [Listening sockets are non-blocking when there are more than 1])
+fi
+
AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL, SIG$AP_SIG_GRACEFUL, [Signal used to gracefully restart])
AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL_STRING, "SIG$AP_SIG_GRACEFUL", [Signal used to gracefully restart (as a quoted string)])
AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL_SHORT, $AP_SIG_GRACEFUL, [Signal used to gracefully restart (without SIG prefix)])