From b3288f94e625603d6b5b23740b721287e75eead7 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 27 Dec 2011 23:14:54 +0000 Subject: Tue Dec 27 23:14:54 UTC 2011 --- community/stunnel/stunnel.rc.d | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'community/stunnel/stunnel.rc.d') diff --git a/community/stunnel/stunnel.rc.d b/community/stunnel/stunnel.rc.d index 15816abe8..ee67e20ce 100644 --- a/community/stunnel/stunnel.rc.d +++ b/community/stunnel/stunnel.rc.d @@ -3,26 +3,35 @@ . /etc/rc.conf . /etc/rc.d/functions -PID=`pidof -o %PPID /usr/bin/stunnel` +pidfile=/var/run/stunnel.pid +if [[ -r $pidfile ]]; then + read -r PID < "$pidfile" + if [[ $PID && ! -d /proc/$PID ]]; then + # stale pidfile + unset PID + rm -f "$pidfile" + fi +fi + case "$1" in start) stat_busy "Starting stunnel" - [ -z "$PID" ] && /usr/bin/stunnel - if [ $? -gt 0 ]; then - stat_fail - else + if [[ -z $PID ]] && /usr/bin/stunnel; then add_daemon stunnel stat_done + else + stat_fail + exit 1 fi ;; stop) stat_busy "Stopping stunnel" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else + if [[ $PID ]] && kill $PID &>/dev/null; then rm_daemon stunnel stat_done + else + stat_fail + exit 1 fi ;; restart) @@ -31,6 +40,5 @@ case "$1" in $0 start ;; *) - echo "usage: $0 {start|stop|restart}" + echo "usage: $0 {start|stop|restart}" esac -exit 0 -- cgit v1.2.3-54-g00ecf