summaryrefslogtreecommitdiffstats
path: root/pym/portage/locks.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-04-15 18:43:23 +0000
committerZac Medico <zmedico@gentoo.org>2009-04-15 18:43:23 +0000
commitccea8172b47c34eb64e298c1a66a8199423d5e07 (patch)
treea3261457ffaeb9d412edf8760e3ab50c11e9d3a9 /pym/portage/locks.py
parent75a69ebffffbb8f442e976f21846ed9f70c7d76d (diff)
downloadportage-ccea8172b47c34eb64e298c1a66a8199423d5e07.tar.gz
portage-ccea8172b47c34eb64e298c1a66a8199423d5e07.tar.bz2
portage-ccea8172b47c34eb64e298c1a66a8199423d5e07.zip
Bug #266211 - Handle ESTALE like ENOENT in fetch and locking code. Thanks to
Krzysztof Olędzki <ole+gentoo@ans.pl> for the initial patch. svn path=/main/trunk/; revision=13347
Diffstat (limited to 'pym/portage/locks.py')
-rw-r--r--pym/portage/locks.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/pym/portage/locks.py b/pym/portage/locks.py
index 36bc085bf..05a65644f 100644
--- a/pym/portage/locks.py
+++ b/pym/portage/locks.py
@@ -74,7 +74,7 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0,
if os.stat(lockfilename).st_gid != portage_gid:
os.chown(lockfilename, -1, portage_gid)
except OSError, e:
- if e.errno == errno.ENOENT: # No such file or directory
+ if e.errno in (errno.ENOENT, errno.ESTALE):
return lockfile(mypath,
wantnewlockfile=wantnewlockfile,
unlinkfile=unlinkfile, waiting_msg=waiting_msg,
@@ -164,7 +164,7 @@ def _fstat_nlink(fd):
try:
return os.fstat(fd).st_nlink
except EnvironmentError, e:
- if e.errno == errno.ENOENT:
+ if e.errno in (errno.ENOENT, errno.ESTALE):
# Some filesystems such as CIFS return
# ENOENT which means st_nlink == 0.
return 0