fix race condition for bug 121819 by using os.fstat(myfd).st_nlink instead of os...
authorZac Medico <zmedico@gentoo.org>
Tue, 14 Feb 2006 22:38:27 +0000 (22:38 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 14 Feb 2006 22:38:27 +0000 (22:38 -0000)
svn path=/main/trunk/; revision=2712

pym/portage_locks.py

index 09daa2e4d0011a1b8604a57d5a37591abfbe9ddb..a6e1afe57d41cee165615ff2455d2f4c1f5aa77d 100644 (file)
@@ -122,7 +122,7 @@ def lockfile(mypath,wantnewlockfile=0,unlinkfile=0):
                        raise
 
                
-       if type(lockfilename) == types.StringType and not os.path.exists(lockfilename):
+       if type(lockfilename) == types.StringType and os.fstat(myfd).st_nlink != 1:
                # The file was deleted on us... Keep trying to make one...
                os.close(myfd)
                portage_util.writemsg("lockfile recurse\n",1)