aboutsummaryrefslogtreecommitdiff
path: root/net/haproxy/patches/0004-MINOR-Also-accept-SIGHUP-SIGTERM-in-systemd-wrapper.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net/haproxy/patches/0004-MINOR-Also-accept-SIGHUP-SIGTERM-in-systemd-wrapper.patch')
-rw-r--r--net/haproxy/patches/0004-MINOR-Also-accept-SIGHUP-SIGTERM-in-systemd-wrapper.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/net/haproxy/patches/0004-MINOR-Also-accept-SIGHUP-SIGTERM-in-systemd-wrapper.patch b/net/haproxy/patches/0004-MINOR-Also-accept-SIGHUP-SIGTERM-in-systemd-wrapper.patch
new file mode 100644
index 000000000..bbda7d80a
--- /dev/null
+++ b/net/haproxy/patches/0004-MINOR-Also-accept-SIGHUP-SIGTERM-in-systemd-wrapper.patch
@@ -0,0 +1,48 @@
+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
+