mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-12-08 03:01:14 +01:00
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.
This commit is contained in:
parent
3747ea07ce
commit
a785269b4e
@ -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 */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user