From d6cd3b6b342b7949a190c2637a492819a7ab94ac Mon Sep 17 00:00:00 2001 From: Jan Friesse Date: Mon, 2 Aug 2010 12:38:19 +0000 Subject: [PATCH] Check that Corosync was not runned by cman Patch fixes init script so it's tested, if corosync was runned by cman or not. If so, it refuses to stop Corosync. git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@3011 fd59a12c-fef9-0310-b244-a6a79926bd2f --- init/generic.in | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/init/generic.in b/init/generic.in index 37235b95..578fa191 100755 --- a/init/generic.in +++ b/init/generic.in @@ -99,10 +99,27 @@ start() echo } +executed_by_cman() +{ + [ -f @LOCALSTATEDIR@/run/cman.pid ] || return 0 + + read cman_pid foo < @LOCALSTATEDIR@/run/cman.pid + if [ "$(pidof $prog)" == "$cman_pid" ];then + echo -n "$desc was executed by cman" + failure + echo + return 1 + fi + + return 0 +} + stop() { ! status $prog > /dev/null 2>&1 && return + ! executed_by_cman && return + echo -n "Signaling $desc ($prog) to terminate: " kill -TERM $(pidof $prog) > /dev/null 2>&1 success