From bfe0c19a8495abeade5a6aaec7901d66d2489021 Mon Sep 17 00:00:00 2001 From: Nathan Kinder Date: Tue, 17 Feb 2009 23:21:05 +0000 Subject: Resolves: 245894 Summary: Make init script verify that existing pidfile refers to a ns-slapd process. --- wrappers/initscript.in | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/wrappers/initscript.in b/wrappers/initscript.in index d32c1ab1..9f4676fe 100644 --- a/wrappers/initscript.in +++ b/wrappers/initscript.in @@ -138,7 +138,10 @@ start() { server_running=0 if [ -f $pidfile ]; then pid=`cat $pidfile` - if kill -0 $pid > /dev/null 2>&1 ; then + instlockfile="@localstatedir@/lock/@package_name@/slapd-$instance/server/$pid" + if kill -0 $pid && \ + [ $(awk '{print $2}' /proc/$pid/stat) = "(ns-slapd)" ] \ + > /dev/null 2>&1 ; then echo_n " already running" success; echo successes=`expr $successes + 1` @@ -146,7 +149,9 @@ start() { else echo " not running, but pid file exists" echo_n " $instance... attempting to start anyway" - rm -f $pidfile + # Clean up the instance lockfile since we know the pid. The + # pidfiles will get cleaned up below. + rm -f $instlockfile fi fi server_started=0 -- cgit