]> granicus.if.org Git - apache/commitdiff
Remove support for the threaded-mpm's on Linux 2.0, and de-autoconf the
authorColm MacCarthaigh <colm@apache.org>
Tue, 23 Aug 2005 16:41:17 +0000 (16:41 +0000)
committerColm MacCarthaigh <colm@apache.org>
Tue, 23 Aug 2005 16:41:17 +0000 (16:41 +0000)
graceful restart signal. Frees up SIGWINCH for implementing graceful stop.
See <20050727114058.GA3390@stdlib.net> and subsequent thread on httpd-dev.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239430 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
configure.in
include/mpm_common.h
server/mpm/config.m4
server/mpm_common.c

diff --git a/CHANGES b/CHANGES
index f99b9019b923513daeffd54c1e234f12ae87a834..4ee01b961e84e8a18854d2be69fb32d70b9f2ab4 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 
+  *) Linux 2.0: remove support for threaded MPM's due to linuxthreads use
+     of SIGUSR1 clashing with graceful restart signal. [Colm MacCarthaigh]
+
   *) mod_cache: Enhance CacheEnable/CacheDisable to control caching on a
      per-protocol, per-host and per-path basis. Intended for proxy
      configurations. [Colm MacCarthaigh]
index afcf14257ddbba3fc6d0360aa89f5b69a9c81314..18008727ab4f45725af4a274cb3575f4d848b31b 100644 (file)
@@ -232,8 +232,6 @@ esac
 APACHE_SUBST(SHLTCFLAGS)
 APACHE_SUBST(LTCFLAGS)
 
-AP_SIG_GRACEFUL=USR1
-
 case $host in
   *-apple-aux3*)
       APR_SETVAR(APACHE_MPM, [prefork])
@@ -249,9 +247,6 @@ case $host in
       ;;
   *-linux-*)
       case `uname -r` in
-        2.0* ) 
-            AP_SIG_GRACEFUL=WINCH
-            ;;
         2.[[2-9]]* ) 
             APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
             ;;
@@ -575,14 +570,6 @@ if test "$AP_NONBLOCK_WHEN_MULTI_LISTEN" = "1"; then
               [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)])
-AP_SIG_GRACEFUL_SHORT=$AP_SIG_GRACEFUL
-AP_SIG_GRACEFUL=SIG$AP_SIG_GRACEFUL_SHORT
-AC_SUBST(AP_SIG_GRACEFUL)
-AC_SUBST(AP_SIG_GRACEFUL_STRING)
-AC_SUBST(AP_SIG_GRACEFUL_SHORT)
 
 APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile) 
 APACHE_FAST_OUTPUT(os/Makefile server/Makefile)
index a36b926ff570c60c62acb4d458d2b63025987676..161b48e486cc7e3a9449f942fe3ac74eaced445b 100644 (file)
@@ -56,6 +56,15 @@ extern "C" {
 #define DEFAULT_LISTENBACKLOG 511
 #endif
         
+/* Signal used to gracefully restart */
+#define AP_SIG_GRACEFUL SIGUSR1
+
+/* Signal used to gracefully restart (without SIG prefix) */
+#define AP_SIG_GRACEFUL_SHORT USR1
+
+/* Signal used to gracefully restart (as a quoted string) */
+#define AP_SIG_GRACEFUL_STRING "SIGUSR1"
+
 /**
  * Make sure all child processes that have been spawned by the parent process
  * have died.  This includes process registered as "other_children".
index f8b2022cdd976b9503114019d147f63d6e573406..34018382e1c286ba5e3eeeb4bcef35d4c719e912 100644 (file)
@@ -38,6 +38,22 @@ if ap_mpm_is_threaded; then
     AC_MSG_CHECKING(checking for replacement)
     AC_MSG_RESULT(prefork selected)
     apache_cv_mpm=prefork
+  else
+    case $host in
+      *-linux-*)
+        case `uname -r` in
+          2.0* )
+            dnl Threaded MPM's are not supported on Linux 2.0
+            dnl as on 2.0 the linuxthreads library uses SIGUSR1
+            dnl and SIGUSR2 internally
+            echo "Threaded MPM's are not supported on this platform"
+            AC_MSG_CHECKING(checking for replacement)
+            AC_MSG_RESULT(prefork selected)
+            apache_cv_mpm=prefork
+          ;;
+        esac
+      ;;
+    esac
   fi
 fi
 
index 8554c52e6bd0757a168a5c0dac8391e2c128c986..93711f7c192392105b57b1255ba53fd7f5090d9a 100644 (file)
@@ -917,7 +917,7 @@ int ap_signal_server(int *exit_status, apr_pool_t *pconf)
             printf("httpd not running, trying to start\n");
         }
         else {
-            *exit_status = send_signal(otherpid, SIGUSR1);
+            *exit_status = send_signal(otherpid, AP_SIG_GRACEFUL);
             return 1;
         }
     }