]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
AIX: Change the default accept mechanism from pthread back to
authorJeff Trawick <trawick@apache.org>
Mon, 5 May 2003 11:45:49 +0000 (11:45 +0000)
committerJeff Trawick <trawick@apache.org>
Mon, 5 May 2003 11:45:49 +0000 (11:45 +0000)
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

src/CHANGES
src/include/ap_config.h

index 9de8a2acfe45a156e131f6223ffded159529213b..ca561c5fc3679e11a819244a8b861bdb9266c7ab 100644 (file)
@@ -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 <joey@infodrom.org>, Thom May]
 
index 159b7df4b360bda4baab87d4c29a168cc400db77..717cefe12a98f1cd9104c2085d8f7787dc5ed1ea 100644 (file)
@@ -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