From: Jeff Trawick Date: Mon, 5 May 2003 11:45:49 +0000 (+0000) Subject: AIX: Change the default accept mechanism from pthread back to X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db3f780e5d7140a128b6a2ff88d2688facc24ee0;p=thirdparty%2Fapache%2Fhttpd.git AIX: Change the default accept mechanism from pthread back to fcntl. Idle child cleanup doesn't work when the child selected for termination by the parent is waiting on a pthread mutex, and because the AIX kernel's notion of hot process is apparently the same as Apache's, it is common for the Apache parent to continually select a child for termination that the kernel will leave waiting on the mutex for extended periods of time. There are other concerns with pthread mutexes as well, such as the ability to deadlock the server if a child process segfaults while holding the mutex. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@99718 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/CHANGES b/src/CHANGES index 9de8a2acfe4..ca561c5fc36 100644 --- a/src/CHANGES +++ b/src/CHANGES @@ -1,5 +1,16 @@ Changes with Apache 1.3.28 + *) AIX: Change the default accept mechanism from pthread back to + fcntl. Idle child cleanup doesn't work when the child selected + for termination by the parent is waiting on a pthread mutex, and + because the AIX kernel's notion of hot process is apparently the + same as Apache's, it is common for the Apache parent to continually + select a child for termination that the kernel will leave waiting + on the mutex for extended periods of time. There are other + concerns with pthread mutexes as well, such as the ability to + deadlock the server if a child process segfaults while holding the + mutex. [Jeff Trawick] + *) Fix a pair of potential buffer overflows in htdigest [Martin Schulze , Thom May] diff --git a/src/include/ap_config.h b/src/include/ap_config.h index 159b7df4b36..717cefe12a9 100644 --- a/src/include/ap_config.h +++ b/src/include/ap_config.h @@ -286,10 +286,8 @@ typedef int rlim_t; #define NEED_UNION_SEMUN #if AIX >= 430 #define HAVE_PTHREAD_SERIALIZED_ACCEPT -#define USE_PTHREAD_SERIALIZED_ACCEPT -#else -#define USE_FCNTL_SERIALIZED_ACCEPT #endif +#define USE_FCNTL_SERIALIZED_ACCEPT #if AIX >= 432 #define SINGLE_LISTEN_UNSERIALIZED_ACCEPT #endif