Commit 33fb57a0 authored by Garrett Rooney's avatar Garrett Rooney
Browse files

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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@377291 13f79535-47bb-0310-9956-ffa450edef68
parent f987cfad
Loading
Loading
Loading
Loading
+3 −0
Changes for CHANGES: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -2,6 +2,9 @@
Changes with Apache 2.3.0
  [Remove entries to the current 2.0 and 2.2 section below, when backported]
  *) Respect GracefulShutdownTimeout in the worker and event MPMs.
     [Chris Darroch <chrisd pearsoncmg.com>, Garrett Rooney]
  *) mod_proxy_balancer: Do not overwrite the status of initialized workers and
     respect the configured status of uninitilized workers when creating a new
     child process. [Ruediger Pluem]
+8 −2
Changes for server/mpm/experimental/event/event.c: 8 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -2037,8 +2037,14 @@ int ap_mpm_run(apr_pool_t * _pconf, apr_pool_t * plog, server_rec * s)
                             "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 */
+8 −2
Changes for server/mpm/worker/worker.c: 8 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -1768,8 +1768,14 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
                             "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 */