You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2026/08/30 06:08:44 UTC
svn commit: r1937634 - httpd/httpd/trunk/server/mpm/prefork
Author: jorton
Date: Sun Aug 30 06:08:44 2026
New Revision: 1937634
Log:
* server/mpm/prefork/prefork.c (prefork_run): Ignore SIGHUP while
killing the previous generation, which is signalled by process group
and so includes the parent itself.
Fixes: 243c5fad0a (SVN r1892587, trunk-only)
Co-Authored-By: Claude Opus 5 (1M context) <no...@anthropic.com>
GitHub: PR #727
Modified:
httpd/httpd/trunk/server/mpm/prefork/prefork.c
Modified: httpd/httpd/trunk/server/mpm/prefork/prefork.c
==============================================================================
--- httpd/httpd/trunk/server/mpm/prefork/prefork.c Sun Aug 30 06:08:14 2026 (r1937633)
+++ httpd/httpd/trunk/server/mpm/prefork/prefork.c Sun Aug 30 06:08:44 2026 (r1937634)
@@ -970,7 +970,11 @@ static int prefork_run(apr_pool_t *_pcon
}
}
else {
- /* Kill 'em off */
+ /* Kill 'em off. The parent is in this process group too, and
+ * its handler would take the signal as a fresh restart request
+ * and loop; ap_unixd_mpm_set_signals() below puts the handler
+ * back. */
+ apr_signal(SIGHUP, SIG_IGN);
if (ap_unixd_killpg(getpgrp(), SIGHUP) < 0) {
ap_log_error(APLOG_MARK, APLOG_WARNING, errno,
ap_server_conf, APLOGNO(00172) "killpg SIGHUP");