From: Ian Jackson Date: Tue, 6 Jul 2010 12:10:14 +0000 (+0100) Subject: tools/hotplug: locking.sh script: fix lock directory remains on error bug X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~11834^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0c85cce09c6d4e7de0fa30ca7b708f798a3d8d33;p=xen.git tools/hotplug: locking.sh script: fix lock directory remains on error bug _release_lock should be used instead of release_lock. sigerr is introduced so that it can be redefined by xen-hotplug-common.sh to a version which writes error status to xenstore. Signed-off-by: Kouya Shimura --- diff --git a/tools/hotplug/Linux/locking.sh b/tools/hotplug/Linux/locking.sh index 6ff58e7e6c..7dbd6bef81 100644 --- a/tools/hotplug/Linux/locking.sh +++ b/tools/hotplug/Linux/locking.sh @@ -39,6 +39,12 @@ release_lock() } +# This function will be redefined in xen-hotplug-common.sh. +sigerr() { + exit 1 +} + + _claim_lock() { local lockdir="$1" @@ -47,7 +53,7 @@ _claim_lock() while [ $retries -lt $LOCK_RETRIES ] do - mkdir "$lockdir" 2>/dev/null && trap "release_lock $1; sigerr" ERR && + mkdir "$lockdir" 2>/dev/null && trap "_release_lock $lockdir; sigerr" ERR && _update_lock_info "$lockdir" && return local new_owner=$(_lock_owner "$lockdir")