]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mworker: Fix re-exec when haproxy is started from PATH
authorTim Duesterhus <tim@bastelstu.be>
Sun, 12 Nov 2017 16:39:18 +0000 (17:39 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 14 Nov 2017 14:11:24 +0000 (15:11 +0100)
commit0436ab78416e1066fb8f65d33496ac1ee4d685d1
treefbb756e06b64a97ab349c755af4e8e18da46370b
parentcfaa6e7ef3b548039f551bc9b79973cb5c37d76e
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.
src/haproxy.c