diff options
Diffstat (limited to 'main/haproxy/haproxy.initd')
-rw-r--r-- | main/haproxy/haproxy.initd | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/main/haproxy/haproxy.initd b/main/haproxy/haproxy.initd index 68b7e0fefb..f96931b182 100644 --- a/main/haproxy/haproxy.initd +++ b/main/haproxy/haproxy.initd @@ -1,45 +1,52 @@ #!/sbin/runscript -# Copyright 1999-2006 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/net-proxy/haproxy/files/haproxy.initd,v 1.3 2007/10/27 10:42:32 mrness Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-proxy/haproxy/files/haproxy.initd-r1,v 1.2 2011/12/04 10:32:32 swegener Exp $ -opts="${opts} reload" +extra_commands="checkconfig" +extra_started_commands="reload" CONFFILE=/etc/${SVCNAME}.cfg PIDFILE=/var/run/${SVCNAME}.pid +depend() { + need net + after firewall + use dns logger +} + checkconfig() { if [ ! -f "${CONFFILE}" ]; then eerror "${CONFFILE} does not exist!" return 1 fi - /usr/sbin/haproxy -c -f "${CONFFILE}" >/dev/null -} -depend() { - need net - after firewall - use dns logger + ebegin "Checking ${CONFFILE}" + /usr/bin/haproxy -q -c -f "${CONFFILE}" + eend $? } start() { - checkconfig || return 1 - ebegin "Starting ${SVCNAME}" - start-stop-daemon --start --quiet \ - --exec /usr/sbin/haproxy \ - -- -D -p "${PIDFILE}" -f "${CONFFILE}" - eend ${?} + start-stop-daemon --pidfile "${PIDFILE}" --exec /usr/bin/haproxy \ + --start -- -D -p "${PIDFILE}" -f "${CONFFILE}" + eend $? } stop() { ebegin "Stopping ${SVCNAME}" - start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" - eend ${?} + + if [ "${RC_CMD}" = "restart" ]; then + checkconfig || return 1 + fi + + start-stop-daemon --stop --pidfile "${PIDFILE}" + eend $? } reload() { ebegin "Reloading ${SVCNAME}" - /usr/sbin/haproxy -D -p "${PIDFILE}" -f "${CONFFILE}" -sf $(cat "${PIDFILE}") - eend ${?} + checkconfig || { eerror "Reloading failed, please fix your ${CONFFILE} first"; return 1; } + /usr/bin/haproxy -D -p "${PIDFILE}" -f "${CONFFILE}" -sf $(cat "${PIDFILE}") + eend $? } |