From a57e6c5b87b00435a20fbcd74f09689482913d26 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 30 Apr 2009 07:12:41 +0000 Subject: Bug #266211 - Handle ESTALE like ENOENT in fetch and locking code. Thanks to Krzysztof Olędzki for the initial patch. (trunk r13347) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit svn path=/main/branches/2.1.6/; revision=13503 --- pym/portage/__init__.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'pym/portage/__init__.py') diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 3dada679..fba07547 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -3914,7 +3914,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 @@ -4026,7 +4026,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) @@ -4041,14 +4041,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: @@ -4192,7 +4192,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 @@ -4216,7 +4216,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 @@ -4228,7 +4228,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 @@ -4282,7 +4283,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 -- cgit v1.2.3-65-gdbad