locks: use a private constant for fcntl.lockf
authorZac Medico <zmedico@gentoo.org>
Thu, 9 Jun 2011 10:39:37 +0000 (03:39 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 9 Jun 2011 10:39:37 +0000 (03:39 -0700)
pym/portage/locks.py

index 1f8f5801300ffab45eb03178fca83f927c32f4b4..50a92006129e295138b608960b9a8627504c88c6 100644 (file)
@@ -25,6 +25,7 @@ if sys.hexversion >= 0x3000000:
        basestring = str
 
 HARDLINK_FD = -2
+_default_lock_fn = fcntl.lockf
 
 # Used by emerge in order to disable the "waiting for lock" message
 # so that it doesn't interfere with the status display.
@@ -109,9 +110,9 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0,
 
        # try for a non-blocking lock, if it's held, throw a message
        # we're waiting on lockfile and use a blocking attempt.
-       locking_method = fcntl.lockf
+       locking_method = _default_lock_fn
        try:
-               fcntl.lockf(myfd,fcntl.LOCK_EX|fcntl.LOCK_NB)
+               locking_method(myfd, fcntl.LOCK_EX|fcntl.LOCK_NB)
        except IOError as e:
                if "errno" not in dir(e):
                        raise
@@ -135,7 +136,7 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0,
                                out.ebegin(waiting_msg)
                        # try for the exclusive lock now.
                        try:
-                               fcntl.lockf(myfd, fcntl.LOCK_EX)
+                               locking_method(myfd, fcntl.LOCK_EX)
                        except EnvironmentError as e:
                                if out is not None:
                                        out.eend(1, str(e))