[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] tools/hotplug/Linux: forced to release lock if holder process is gone



Sorry, the patch was unsafe for mutual exclusion. Please apply this too.
Since there is a case that the owner file doesn't exist yet
when an atomic mkdir operation fails.

Thanks,
Kouya

Ian Jackson writes:
> Kouya Shimura writes ("[Xen-devel] [PATCH] tools/hotplug/Linux: forced to 
> release lock if holder process is gone"):
> > When a script using locking.sh is stopped by ctrl-C, the lock file remains.
> > We have to wait 100 seconds for releasing the lock at the next time.
> 
> Thanks, I have applied your patch.
> 
> This kind of thing is one reason why lockfiles where the lock is
> regarded as held if the file exists are horrible.  It's a shame that
> we don't have any fcntl/flock style locking primitives available in
> shell.
> 
> Ian.

Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>

diff -r 197c0b40423a tools/hotplug/Linux/locking.sh
--- a/tools/hotplug/Linux/locking.sh    Tue Dec 14 19:28:25 2010 +0000
+++ b/tools/hotplug/Linux/locking.sh    Wed Dec 15 11:56:04 2010 +0900
@@ -63,7 +63,7 @@ _claim_lock()
       retries=0
     else
       local pid=$(echo $owner | cut -d : -f 1)
-      if [ ! -f "/proc/$pid/status" ]
+      if [ -n "$pid" -a "$pid" != "unknown" -a ! -f "/proc/$pid/status" ]
       then
         _release_lock $lockdir
       fi
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.