Skip to content

mod_systemd: Document Type=notify-reload, and test it - #729

Closed
notroj wants to merge 3 commits into
apache:trunkfrom
notroj:systemd-notify-reload
Closed

mod_systemd: Document Type=notify-reload, and test it#729
notroj wants to merge 3 commits into
apache:trunkfrom
notroj:systemd-notify-reload

Conversation

@notroj

@notroj notroj commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Documents Type=notify-reload for mod_systemd, where systemctl reload waits for the new configuration to be loaded and reports whether it worked, and adds a test suite covering it.

The unit documented keeps ExecReload=httpd -k graceful and sets ReloadSignal=SIGCONT. systemd runs ExecReload= first and sends ReloadSignal= only once that has exited successfully, so keeping it is what makes an unparseable configuration fail the reload without the running server being signalled at all; with a bare reload signal the parent reads the new configuration itself and exits if it does not parse. The signal systemd sends afterwards is then redundant, and the SIGHUP default would restart httpd ungracefully.

Also stops the Windows workflow running on Unix-only paths.

notroj and others added 3 commits August 30, 2026 10:07
  ReloadSignal= and ExecReload=.  Generated HTML not rebuilt.

[skip ci]

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
  Type=notify-reload.

* test/modules/arch/linux/env.py (TransientService): Take the service
  type and whether to configure ExecReload=.
  (TransientService.systemctl): Take a timeout.
  (TransientService.reload, TransientService.rewrite_conf,
  error_log_size, error_log_since, systemd_version): New.

* test/modules/arch/linux/README: Describe the new suite.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
  modules/arch/unix/, os/unix/, test/modules/arch/linux/ or to
  server/mpm_unix.c.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@notroj
notroj force-pushed the systemd-notify-reload branch from f5897c3 to 2e27e4f Compare August 30, 2026 09:16
asf-gitbox-commits pushed a commit that referenced this pull request Aug 30, 2026
  ReloadSignal= and ExecReload=.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub: PR #729


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1937646 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 30, 2026
  Type=notify-reload.

* test/modules/arch/linux/env.py (TransientService): Take the service
  type and whether to configure ExecReload=.
  (TransientService.systemctl): Take a timeout.
  (TransientService.reload, TransientService.rewrite_conf,
  error_log_size, error_log_since, systemd_version): New.

* test/modules/arch/linux/README: Describe the new suite.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub: PR #729


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1937647 13f79535-47bb-0310-9956-ffa450edef68
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant