diff options
-rw-r--r-- | pym/portage/__init__.py | 17 | ||||
-rw-r--r-- | pym/portage/locks.py | 4 |
2 files changed, 11 insertions, 10 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 59f541058..0b65570c0 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -3924,7 +3924,7 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", try: mysize = os.stat(myfile_path).st_size except OSError, e: - if e.errno != errno.ENOENT: + if e.errno not in (errno.ENOENT, errno.ESTALE): raise del e mysize = 0 @@ -4036,7 +4036,7 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", try: os.unlink(myfile_path) except OSError, e: - if e.errno != errno.ENOENT: + if e.errno not in (errno.ENOENT, errno.ESTALE): raise del e os.symlink(readonly_file, myfile_path) @@ -4051,14 +4051,14 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", " %(file)s\n" % {"file":myfile})) break except (IOError, OSError), e: - if e.errno != errno.ENOENT: + if e.errno not in (errno.ENOENT, errno.ESTALE): raise del e try: mystat = os.stat(myfile_path) except OSError, e: - if e.errno != errno.ENOENT: + if e.errno not in (errno.ENOENT, errno.ESTALE): raise del e else: @@ -4202,7 +4202,7 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", try: mysize = os.stat(myfile_path).st_size except OSError, e: - if e.errno != errno.ENOENT: + if e.errno not in (errno.ENOENT, errno.ESTALE): raise del e mysize = 0 @@ -4226,7 +4226,7 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", try: mystat = os.stat(myfile_path) except OSError, e: - if e.errno != errno.ENOENT: + if e.errno not in (errno.ENOENT, errno.ESTALE): raise del e fetched = 0 @@ -4238,7 +4238,8 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", try: os.unlink(myfile_path) except OSError, e: - if e.errno != errno.ENOENT: + if e.errno not in \ + (errno.ENOENT, errno.ESTALE): raise del e fetched = 0 @@ -4292,7 +4293,7 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", try: mystat = os.stat(myfile_path) except OSError, e: - if e.errno != errno.ENOENT: + if e.errno not in (errno.ENOENT, errno.ESTALE): raise del e fetched = 0 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 |