From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Q0gzB-0004Q9-M3 for garchives@archives.gentoo.org; Fri, 18 Mar 2011 21:13:29 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 063ABE05B1; Fri, 18 Mar 2011 21:12:27 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id C950DE05B1 for ; Fri, 18 Mar 2011 21:12:27 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 907FA1B40D1 for ; Fri, 18 Mar 2011 21:12:27 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 000378006E for ; Fri, 18 Mar 2011 21:12:26 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <2b4d81caa05f5cb5aaf231ca25573c5547583c38.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:2.1.9 commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/Scheduler.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 2b4d81caa05f5cb5aaf231ca25573c5547583c38 Date: Fri, 18 Mar 2011 21:12:26 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 90baa48dc467c5a7a614fd29b738862f commit: 2b4d81caa05f5cb5aaf231ca25573c5547583c38 Author: David James google com> AuthorDate: Thu Mar 17 04:54:37 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Fri Mar 18 19:49:12 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D2b4d81ca Update Scheduler to protect against infinite loop If we have running tasks, but we're not listening to these tasks, we're going to loop forever. So throw an exception in this case. --- pym/_emerge/Scheduler.py | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 5d19042..fa4825c 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -1681,15 +1681,13 @@ class Scheduler(PollScheduler): self._set_max_jobs(1) =20 while self._schedule(): - if self._poll_event_handlers: - self._poll_loop() + self._poll_loop() =20 while True: self._schedule() if not self._is_work_scheduled(): break - if self._poll_event_handlers: - self._poll_loop() + self._poll_loop() =20 def _keep_scheduling(self): return bool(not self._terminated_tasks and self._pkg_queue and \