Bug #212882 - Fix lockfile() to handle errno.EACCES raised from the fcntl
authorZac Medico <zmedico@gentoo.org>
Mon, 10 Mar 2008 16:42:49 +0000 (16:42 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 10 Mar 2008 16:42:49 +0000 (16:42 -0000)
call since the spec says that it's equivalent to EAGAIN and it appears that
CIFS returns EACCES in this case.

svn path=/main/trunk/; revision=9458

pym/portage/locks.py

index 19c7352b7d745053030fd671a60eddb908905342..e9cc63d36351a5ceb528463ceca5e557580e6031 100644 (file)
@@ -75,7 +75,7 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0, waiting_msg=None):
        except IOError, e:
                if "errno" not in dir(e):
                        raise
-               if e.errno == errno.EAGAIN:
+               if e.errno in (errno.EACCES, errno.EAGAIN):
                        # resource temp unavailable; eg, someone beat us to the lock.
                        if waiting_msg is None:
                                if isinstance(mypath, int):