mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 13:51:26 +02:00
BUG/MEDIUM: mworker: Fix re-exec when haproxy is started from PATH
If haproxy is started using the name of the binary only (i.e. not using a relative or absolute path) the `execv` in `mworker_reload` fails with `ENOENT`, because it does not examine the `PATH`: [WARNING] 315/161139 (7) : Reexecuting Master process [WARNING] 315/161139 (7) : Cannot allocate memory [WARNING] 315/161139 (7) : Failed to reexecute the master processs [7] The error messages are misleading, because the return value of `execv` is not checked. This should be fixed in a separate commit. Once this happened the master process ignores any further signals sent by the administrator. Replace `execv` with `execvp` to establish the expected behaviour. This bug was introduced in commit 73b85e75b3963086be889e1fb40a59e7ef2ad63b.
This commit is contained in:
parent
cfaa6e7ef3
commit
0436ab7841
@ -650,7 +650,7 @@ static void mworker_reload()
|
||||
|
||||
deinit(); /* we don't want to leak FD there */
|
||||
Warning("Reexecuting Master process\n");
|
||||
execv(next_argv[0], next_argv);
|
||||
execvp(next_argv[0], next_argv);
|
||||
|
||||
alloc_error:
|
||||
Warning("Cannot allocate memory\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user