diff options
author | root <root@rshg054.dnsready.net> | 2011-12-27 23:14:54 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-12-27 23:14:54 +0000 |
commit | b3288f94e625603d6b5b23740b721287e75eead7 (patch) | |
tree | eff707b86ebe69b25cbd9f7b6549e7d8d76f4e46 /community/stunnel/stunnel.rc.d | |
parent | 342100843ef3e4379443c526403fac1b1cb6416a (diff) |
Tue Dec 27 23:14:54 UTC 2011
Diffstat (limited to 'community/stunnel/stunnel.rc.d')
-rw-r--r-- | community/stunnel/stunnel.rc.d | 30 |
1 files changed, 19 insertions, 11 deletions
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 |