From 46cb74fbac6d2636f84e6e38982e088893427bed Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 3 Mar 2007 09:49:30 +0000 Subject: For bug #138840, show a more informative message when waiting for a distfiles lock due to parallel-fetch. Thanks to David Watzke for the initial patch. svn path=/main/trunk/; revision=6143 --- pym/portage/locks.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'pym/portage/locks.py') diff --git a/pym/portage/locks.py b/pym/portage/locks.py index 3def88a38..cbf7ee4b5 100644 --- a/pym/portage/locks.py +++ b/pym/portage/locks.py @@ -17,7 +17,7 @@ def lockdir(mydir): def unlockdir(mylock): return unlockfile(mylock) -def lockfile(mypath,wantnewlockfile=0,unlinkfile=0): +def lockfile(mypath, wantnewlockfile=0, unlinkfile=0, waiting_msg=None): """Creates all dirs upto, the given dir. Creates a lockfile for the given directory as the file: directoryname+'.portage_lockfile'.""" import fcntl @@ -76,10 +76,13 @@ def lockfile(mypath,wantnewlockfile=0,unlinkfile=0): raise if e.errno == errno.EAGAIN: # resource temp unavailable; eg, someone beat us to the lock. - if type(mypath) == types.IntType: - print "waiting for lock on fd %i" % myfd - else: - print "waiting for lock on %s" % lockfilename + if waiting_msg is None: + if isinstance(mypath, int): + print "waiting for lock on fd %i" % myfd + else: + print "waiting for lock on %s" % lockfilename + elif waiting_msg: + print waiting_msg # try for the exclusive lock now. fcntl.lockf(myfd,fcntl.LOCK_EX) elif e.errno == errno.ENOLCK: -- cgit v1.2.3-1-g7c22