- From 6bb7bf7949dd019403b65f400c4b3d0d8589327b Mon Sep 17 00:00:00 2001
- From: Matt Robenolt <matt@ydekproductions.com>
- Date: Thu, 11 Sep 2014 05:19:30 +0000
- Subject: [PATCH 04/13] MINOR: Also accept SIGHUP/SIGTERM in systemd-wrapper
-
- My proposal is to let haproxy-systemd-wrapper also accept normal
- SIGHUP/SIGTERM signals to play nicely with other process managers
- besides just systemd. In my use case, this will be for using with
- runit which has to ability to change the signal used for a
- "reload" or "stop" command. It also might be worth renaming this
- bin to just haproxy-wrapper or something of that sort to separate
- itself away from systemd. But that's a different discussion. :)
- (cherry picked from commit c54bdd2a118161b4dc36963b4201edfa7341dadb)
- ---
- src/haproxy-systemd-wrapper.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
- diff --git a/src/haproxy-systemd-wrapper.c b/src/haproxy-systemd-wrapper.c
- index 90a94ce..cc8baa8 100644
- --- a/src/haproxy-systemd-wrapper.c
- +++ b/src/haproxy-systemd-wrapper.c
- @@ -158,7 +158,9 @@ int main(int argc, char **argv)
- memset(&sa, 0, sizeof(struct sigaction));
- sa.sa_handler = &signal_handler;
- sigaction(SIGUSR2, &sa, NULL);
- + sigaction(SIGHUP, &sa, NULL);
- sigaction(SIGINT, &sa, NULL);
- + sigaction(SIGTERM, &sa, NULL);
-
- if (getenv(REEXEC_FLAG) != NULL) {
- /* We are being re-executed: restart HAProxy gracefully */
- @@ -180,11 +182,11 @@ int main(int argc, char **argv)
-
- status = -1;
- while (-1 != wait(&status) || errno == EINTR) {
- - if (caught_signal == SIGUSR2) {
- + if (caught_signal == SIGUSR2 || caught_signal == SIGHUP) {
- caught_signal = 0;
- do_restart();
- }
- - else if (caught_signal == SIGINT) {
- + else if (caught_signal == SIGINT || caught_signal == SIGTERM) {
- caught_signal = 0;
- do_shutdown();
- }
- --
- 1.8.5.5
-
|