]> granicus.if.org Git - apache/commitdiff
Get the Unix MPMs restarting again. If we are going to register a cleanup
authorRyan Bloom <rbb@apache.org>
Wed, 7 Feb 2001 20:49:25 +0000 (20:49 +0000)
committerRyan Bloom <rbb@apache.org>
Wed, 7 Feb 2001 20:49:25 +0000 (20:49 +0000)
for ap_cleanup_scoreboard, then we have to kill that cleanup with the same
function.  This also makes ap_cleanup_scoreboard a non-static function, and
makes ap_cleanup_shared_mem a static function.

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

CHANGES
include/scoreboard.h
server/mpm/dexter/dexter.c
server/mpm/experimental/perchild/perchild.c
server/mpm/mpmt_pthread/mpmt_pthread.c
server/mpm/perchild/perchild.c
server/mpm/prefork/prefork.c
server/scoreboard.c

diff --git a/CHANGES b/CHANGES
index 51141347deea4b6460e429fd3a7da37d33a859ae..9eb6100e448b907ed17e09e198e365fa3b4f8ab6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,10 @@
 Changes with Apache 2.0b1
 
+  *) Get the Unix MPM's to do a graceful restart again.  If we are going
+     to register a cleanup with ap_cleanup_scoreboard, then we have to
+     kill the cleanup with the same function,  and that function can't be
+     static.  [Ryan Bloom]
+
   *) Install all required header files.  Without these, it was not
      possible to compile some modules outside of the server.
      [Ryan Bloom]
index a6cbd33ca33485f88f4ac43d2d76e3685d400bfa..dcbdb8234fa999654923abe3c1eb95a75ccbb95d 100644 (file)
@@ -231,7 +231,7 @@ typedef struct {
 AP_DECLARE(int) ap_exists_scoreboard_image(void);
 AP_DECLARE(void) ap_create_scoreboard(apr_pool_t *p, ap_scoreboard_e t);
 void reinit_scoreboard(apr_pool_t *p);
-apr_status_t ap_cleanup_shared_mem(void *d);
+AP_DECLARE(apr_status_t) ap_cleanup_scoreboard(void *d);
 
 AP_DECLARE(void) reopen_scoreboard(apr_pool_t *p);
 
index 367cf547e30818a6908b02522bb3ce3f50362c20..4b784c932f1f8ba4e02c6077bbf5aa9fe6c8e963 100644 (file)
@@ -258,7 +258,7 @@ static void ap_start_restart(int graceful)
     restart_pending = 1;
     is_graceful = graceful;
     if (is_graceful) {
-        apr_kill_cleanup(pconf, NULL, ap_cleanup_shared_mem);
+        apr_kill_cleanup(pconf, NULL, ap_cleanup_scoreboard);
     }
 }
 
index d3a67c215a9a1d44072a9571c9e42c89f6cc534b..276651ee394cc2e5225f88d18ca4596febcfdf10 100644 (file)
@@ -296,7 +296,7 @@ static void ap_start_restart(int graceful)
     restart_pending = 1;
     is_graceful = graceful;
     if (is_graceful) {
-        apr_kill_cleanup(pconf, NULL, ap_cleanup_shared_mem);
+        apr_kill_cleanup(pconf, NULL, ap_cleanup_scoreboard);
     }
 }
 
index e12a76113cc041efe598dc510fa5d675cf7ae8a9..dc5951a782c9024ffb27e185b91855bd412aa174 100644 (file)
@@ -251,7 +251,7 @@ static void ap_start_restart(int graceful)
     restart_pending = 1;
     is_graceful = graceful;
     if (is_graceful) {
-        apr_kill_cleanup(pconf, NULL, ap_cleanup_shared_mem);
+        apr_kill_cleanup(pconf, NULL, ap_cleanup_scoreboard);
     }
 }
 
index d3a67c215a9a1d44072a9571c9e42c89f6cc534b..276651ee394cc2e5225f88d18ca4596febcfdf10 100644 (file)
@@ -296,7 +296,7 @@ static void ap_start_restart(int graceful)
     restart_pending = 1;
     is_graceful = graceful;
     if (is_graceful) {
-        apr_kill_cleanup(pconf, NULL, ap_cleanup_shared_mem);
+        apr_kill_cleanup(pconf, NULL, ap_cleanup_scoreboard);
     }
 }
 
index 00a13a83dbc7a3fc0f5dbd360158e7b9deeaae7d..959943b2184b567a8e01848adcade3a3964b933a 100644 (file)
@@ -399,7 +399,7 @@ static void restart(int sig)
     }
     restart_pending = 1;
     if ((is_graceful = (sig == SIGWINCH))) {
-        apr_kill_cleanup(pconf, NULL, ap_cleanup_shared_mem);
+        apr_kill_cleanup(pconf, NULL, ap_cleanup_scoreboard);
     }
 }
 
index 2d4353b884903e7e7b707911d1ec6a8025f6f962..1f7d9602f10b4a487dbb489537ef930478582686 100644 (file)
@@ -93,7 +93,7 @@ static apr_shmem_t *scoreboard_shm = NULL;
  * segment, etc.). Leave it as is now because it is being used
  * by various MPMs. 
  */
-apr_status_t ap_cleanup_shared_mem(void *d)
+static apr_status_t ap_cleanup_shared_mem(void *d)
 {
 #if APR_HAS_SHARED_MEMORY
     apr_shm_free(scoreboard_shm, ap_scoreboard_image);
@@ -142,7 +142,7 @@ AP_DECLARE(void) reopen_scoreboard(apr_pool_t *p)
 /* ap_cleanup_scoreboard
  * 
  */
-static apr_status_t ap_cleanup_scoreboard(void *d) {
+apr_status_t ap_cleanup_scoreboard(void *d) {
     if (ap_scoreboard_image == NULL)
         return APR_SUCCESS;
     if (ap_scoreboard_image->global.sb_type == SB_SHARED) {