Make the worker and event MPMs support GracefulShutdownTimeout just like
the prefork MPM does.
Submitted by: Chris Darroch <chrisd pearsoncmg.com>
Ported to event MPM by: rooneg
Issue number: 38621
* server/mpm/worker/worker.c
(ap_mpm_run): Make the graceful shutdown log message refer to the right
signal, and respect the graceful shutdown timeout if there is one.
* server/mpm/experimental/event/event.c
(ap_mpm_run): Ditto.
* CHANGES: Note change.
Submitted by: chrisd, rooneg
Reviewed by: chrisd, rpluem, trawick
PR: 38621
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@410935
13f79535-47bb-0310-9956-
ffa450edef68
-*- coding: utf-8 -*-
Changes with Apache 2.2.3
+ *) Respect GracefulShutdownTimeout in the worker and event MPMs.
+ [Chris Darroch, Garrett Rooney]
+
*) mod_mem_cache: Set content type correctly when delivering data from
cache. PR 39266. [Ruediger Pluem]
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * Worker and event MPMs: Fix for missing code in handling of
- GracefulShutdownTimeout. PR 38621.
- Trunk version of patch:
- http://svn.apache.org/viewvc?view=rev&revision=377291
- 2.2.x version of patch:
- http://issues.apache.org/bugzilla/attachment.cgi?id=18356
- +1: chrisd, rpluem, trawick
-
* mod_filter: Don't try to insert a filter that doesn't exist
PR#39672
Trunk version: http://svn.apache.org/viewvc?view=rev&revision=410079
"removed PID file %s (pid=%ld)",
pidfile, (long)getpid());
- ap_log_error(APLOG_MARK, APLOG_NOTICE, 0,
- ap_server_conf, "caught SIGTERM, shutting down");
+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
+ "caught " AP_SIG_GRACEFUL_STOP_STRING
+ ", shutting down gracefully");
+ }
+
+ if (ap_graceful_shutdown_timeout) {
+ cutoff = apr_time_now() +
+ apr_time_from_sec(ap_graceful_shutdown_timeout);
}
/* Don't really exit until each child has finished */
"removed PID file %s (pid=%" APR_PID_T_FMT ")",
pidfile, getpid());
- ap_log_error(APLOG_MARK, APLOG_NOTICE, 0,
- ap_server_conf, "caught SIGTERM, shutting down");
+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
+ "caught " AP_SIG_GRACEFUL_STOP_STRING
+ ", shutting down gracefully");
+ }
+
+ if (ap_graceful_shutdown_timeout) {
+ cutoff = apr_time_now() +
+ apr_time_from_sec(ap_graceful_shutdown_timeout);
}
/* Don't really exit until each child has finished */