[Pkg-sks-commit] r59 - sks/trunk/sks/debian
chrism at alioth.debian.org
chrism at alioth.debian.org
Thu Jun 19 14:45:15 UTC 2008
Author: chrism
Date: 2008-06-19 14:45:13 +0000 (Thu, 19 Jun 2008)
New Revision: 59
Modified:
sks/trunk/sks/debian/init
Log:
[project @ 60]
Wait for daemons to die in init script
Original author: weasel
Date: 2003-12-06 10:09:30.224513+00:00
Modified: sks/trunk/sks/debian/init
===================================================================
--- sks/trunk/sks/debian/init 2008-06-19 14:44:45 UTC (rev 58)
+++ sks/trunk/sks/debian/init 2008-06-19 14:45:13 UTC (rev 59)
@@ -9,7 +9,7 @@
DAEMON=/usr/bin/sks
SKSDBPID=/var/run/sks/sksdb.pid
-SKSREPID=/var/run/sks/sksrecon.pid
+SKSRECONPID=/var/run/sks/sksrecon.pid
# See if the daemon is there
@@ -20,6 +20,36 @@
exit 1
fi
+
+wait_for_deaddaemon () {
+ PID=$1
+ sleep 1
+ if test -n "$PID"
+ then
+ if kill -0 $PID 2>/dev/null
+ then
+ echo -n "."
+ cnt=0
+ while kill -0 $PID 2>/dev/null
+ do
+ cnt=`expr $cnt + 1`
+ if [ $cnt -gt 30 ]
+ then
+ echo " FAILED."
+ return 1
+ fi
+ sleep 2
+ echo -n "."
+ done
+ rm -f $PIDFILE
+ else
+ rm -f $PIDFILE
+ fi
+ fi
+ return 0
+}
+
+
case "$1" in
start)
echo -n "Starting sks daemons:"
@@ -29,7 +59,7 @@
exit 0
fi
- echo -n " sksdb"
+ echo -n " sksdb.."
start-stop-daemon --start --quiet --oknodo \
--chuid debian-sks:nogroup \
@@ -38,13 +68,13 @@
--pidfile $SKSDBPID \
--exec $DAEMON -- db
- echo -n " sksrecon"
+ echo -n " sksrecon.."
start-stop-daemon --start --quiet --oknodo \
--chuid debian-sks:nogroup \
--background \
--make-pidfile \
- --pidfile $SKSREPID \
+ --pidfile $SKSRECONPID \
--exec $DAEMON -- recon
echo " done."
@@ -53,16 +83,18 @@
stop)
echo -n "Stopping sks daemons:"
- echo -n " sksrecon"
+ pid=`cat $SKSRECONPID 2>/dev/null` || true
+ echo -n " sksrecon.."
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SKSRECONPID
+ wait_for_deaddaemon $pid || exit 1
+ rm -f $SKSRECONPID
- start-stop-daemon --stop --quiet --oknodo --pidfile $SKSREPID
-
- echo -n " sksdb"
-
+ pid=`cat $SKSDBPID 2>/dev/null` || true
+ echo -n " sksdb.."
start-stop-daemon --stop --quiet --oknodo --pidfile $SKSDBPID
+ wait_for_deaddaemon $pid || exit 1
+ rm -f $SKSDBPID
- rm -f $SKSREPID $SKSDBPID
-
echo " done."
;;
More information about the Pkg-sks-commit
mailing list