From dc8d1598df949105b59ad6d7fda54cc67dbb24e9 Mon Sep 17 00:00:00 2001 From: Bertrand Jacquin Date: Tue, 13 Dec 2016 00:43:48 +0000 Subject: net-proxy/haproxy: Handle stopping multiple proc When haproxy is configured to use more than 1 proc, it creates a PID file listing all PID, with 1 PID per line. Since start-stop-daemon only handle 1 PID per pidfile, we need to had some magic in the init script in order to stop every process haproxy previously started. See: https://bugs.gentoo.org/show_bug.cgi?id=584410 Package-Manager: portage-2.3.0 (cherry picked from commit 551acd9853212fd0debf4563312af88908b7b497) Signed-off-by: Robin H. Johnson Fixes: https://github.com/gentoo/gentoo/pull/3104/ --- net-proxy/haproxy/files/haproxy.initd-r3 | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'net-proxy') diff --git a/net-proxy/haproxy/files/haproxy.initd-r3 b/net-proxy/haproxy/files/haproxy.initd-r3 index 2ad38fc9ebcc..abba9f865345 100644 --- a/net-proxy/haproxy/files/haproxy.initd-r3 +++ b/net-proxy/haproxy/files/haproxy.initd-r3 @@ -60,6 +60,17 @@ stop_pre() { fi } +stop() { + local _t _pid + + _t="$(mktemp)" + for _pid in $(cat ${pidfile}) ; do + echo "${_pid}" > "${_t}" + pidfile="${_t}" openrc_default_stop + done + rm -f "${_t}" +} + reload() { checkconfig || { eerror "Reloading failed, please fix your config(s) first"; return 1; } -- cgit v1.2.3-65-gdbad