|
From 3bc0a399d2875e9e0627a70906c1403eef60ec60 Mon Sep 17 00:00:00 2001
|
|
From: Willy Tarreau <w@1wt.eu>
|
|
Date: Tue, 25 Oct 2016 16:51:40 +0200
|
|
Subject: [PATCH 15/26] MINOR: systemd: report it when execve() fails
|
|
|
|
It's important to know that a signal sent to the wrapper had no effect
|
|
because something failed during execve(). Ideally more info (strerror)
|
|
should be reported. It would be nice to backport this to 1.6 and 1.5.
|
|
(cherry picked from commit a785269b4e09114224062081f02b443b6008c524)
|
|
---
|
|
src/haproxy-systemd-wrapper.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/src/haproxy-systemd-wrapper.c b/src/haproxy-systemd-wrapper.c
|
|
index 15c48ca..f4fcab1 100644
|
|
--- a/src/haproxy-systemd-wrapper.c
|
|
+++ b/src/haproxy-systemd-wrapper.c
|
|
@@ -107,8 +107,12 @@ static void spawn_haproxy(char **pid_strv, int nb_pid)
|
|
fprintf(stderr, "\n");
|
|
|
|
execv(argv[0], argv);
|
|
+ fprintf(stderr, SD_NOTICE "haproxy-systemd-wrapper: execv(%s) failed, please try again later.\n", argv[0]);
|
|
exit(1);
|
|
}
|
|
+ else if (pid == -1) {
|
|
+ fprintf(stderr, SD_NOTICE "haproxy-systemd-wrapper: failed to fork(), please try again later.\n");
|
|
+ }
|
|
}
|
|
|
|
static int read_pids(char ***pid_strv)
|
|
@@ -180,6 +184,7 @@ static void do_restart(int sig)
|
|
execv(wrapper_argv[0], wrapper_argv);
|
|
/* failed, let's reinstall the signal handler and continue */
|
|
setup_signal_handler();
|
|
+ fprintf(stderr, SD_NOTICE "haproxy-systemd-wrapper: re-exec(%s) failed.\n", wrapper_argv[0]);
|
|
}
|
|
|
|
/* handles SIGTERM and SIGINT only */
|
|
--
|
|
2.7.3
|
|
|