Disable "waiting for lock" messages when in background mode. Thanks to Thargor
authorZac Medico <zmedico@gentoo.org>
Tue, 12 Aug 2008 02:33:40 +0000 (02:33 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 12 Aug 2008 02:33:40 +0000 (02:33 -0000)
for reporting.

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

pym/_emerge/__init__.py
pym/portage/locks.py

index e194f948ffa82f6d74a7eac4672141b5e96be337..fae5064e1f4f83210af55076db00c303d7758296 100644 (file)
@@ -9599,6 +9599,7 @@ class Scheduler(PollScheduler):
                self._add_packages()
                pkg_queue = self._pkg_queue
                failed_pkgs = self._failed_pkgs
+               portage.locks._quiet = self._background
                portage.elog._emerge_elog_listener = self._elog_listener
                rval = os.EX_OK
 
@@ -9606,6 +9607,7 @@ class Scheduler(PollScheduler):
                        self._main_loop()
                finally:
                        self._main_loop_cleanup()
+                       portage.locks._quiet = False
                        portage.elog._emerge_elog_listener = None
                        if failed_pkgs:
                                rval = failed_pkgs[-1].returncode
index 000cd349521e5a93ffdb8a1c97a546c475f59d09..4be13c11b5e2904bc3c6d9ca7823fd9141684966 100644 (file)
@@ -13,6 +13,10 @@ from portage.localization import _
 
 HARDLINK_FD = -2
 
+# Used by emerge in order to disable the "waiting for lock" message
+# so that it doesn't interfere with the status display.
+_quiet = False
+
 def lockdir(mydir):
        return lockfile(mydir,wantnewlockfile=1)
 def unlockdir(mylock):
@@ -83,7 +87,11 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0,
                        # resource temp unavailable; eg, someone beat us to the lock.
                        if flags & os.O_NONBLOCK:
                                raise TryAgain(mypath)
-                       if waiting_msg is None:
+
+                       global _quiet
+                       if _quiet:
+                               pass
+                       elif waiting_msg is None:
                                if isinstance(mypath, int):
                                        print "waiting for lock on fd %i" % myfd
                                else: