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 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]
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);
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);
}
}
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);
}
}
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);
}
}
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);
}
}
}
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);
}
}
* 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);
/* 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) {