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 1Q01s2-0007Rs-Rc for garchives@archives.gentoo.org; Thu, 17 Mar 2011 01:19:23 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DCABF1C001; Thu, 17 Mar 2011 01:19:14 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 968421C001 for ; Thu, 17 Mar 2011 01:19:14 +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 275931B4040 for ; Thu, 17 Mar 2011 01:19:14 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 8ACF18006A for ; Thu, 17 Mar 2011 01:19:13 +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: <19121602b455da19a2c9a4199362f13444709dc7.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/CompositeTask.py pym/_emerge/FifoIpcDaemon.py pym/_emerge/PipeReader.py pym/_emerge/SubProcess.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 19121602b455da19a2c9a4199362f13444709dc7 Date: Thu, 17 Mar 2011 01:19:13 +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: d5be8f0f466f9d36eae7a9c4da32fc27 commit: 19121602b455da19a2c9a4199362f13444709dc7 Author: Zac Medico gentoo org> AuthorDate: Thu Mar 17 01:19:02 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu Mar 17 01:19:02 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D19121602 AsynchronousTask: always call wait() if cancelled This is needed in order to ensure that exit listeners are called. Subclasses call the base class cancel() method in order to inherit the wait() call. --- pym/_emerge/CompositeTask.py | 3 ++- pym/_emerge/FifoIpcDaemon.py | 4 ++-- pym/_emerge/PipeReader.py | 4 ++-- pym/_emerge/SubProcess.py | 6 +----- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/pym/_emerge/CompositeTask.py b/pym/_emerge/CompositeTask.py index ddbfe63..4667b78 100644 --- a/pym/_emerge/CompositeTask.py +++ b/pym/_emerge/CompositeTask.py @@ -1,4 +1,4 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 =20 from _emerge.AsynchronousTask import AsynchronousTask @@ -15,6 +15,7 @@ class CompositeTask(AsynchronousTask): self.cancelled =3D True if self._current_task is not None: self._current_task.cancel() + AsynchronousTask.cancel(self) =20 def _poll(self): """ diff --git a/pym/_emerge/FifoIpcDaemon.py b/pym/_emerge/FifoIpcDaemon.py index ac83646..c31508a 100644 --- a/pym/_emerge/FifoIpcDaemon.py +++ b/pym/_emerge/FifoIpcDaemon.py @@ -1,4 +1,4 @@ -# Copyright 2010 Gentoo Foundation +# Copyright 2010-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 =20 from portage import os @@ -48,7 +48,7 @@ class FifoIpcDaemon(AbstractPollTask): self.returncode =3D 1 self.cancelled =3D True self._unregister() - self.wait() + AbstractPollTask.cancel(self) =20 def _wait(self): if self.returncode is not None: diff --git a/pym/_emerge/PipeReader.py b/pym/_emerge/PipeReader.py index 6952ffd..061921a 100644 --- a/pym/_emerge/PipeReader.py +++ b/pym/_emerge/PipeReader.py @@ -1,4 +1,4 @@ -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 =20 from portage import os @@ -36,7 +36,7 @@ class PipeReader(AbstractPollTask): if self.returncode is None: self.returncode =3D 1 self.cancelled =3D True - self.wait() + AbstractPollTask.cancel(self) =20 def _wait(self): if self.returncode is not None: diff --git a/pym/_emerge/SubProcess.py b/pym/_emerge/SubProcess.py index fc035d1..16c71fe 100644 --- a/pym/_emerge/SubProcess.py +++ b/pym/_emerge/SubProcess.py @@ -49,11 +49,7 @@ class SubProcess(AbstractPollTask): if e.errno !=3D errno.ESRCH: raise del e - - self.cancelled =3D True - if self.pid is not None: - self.wait() - return self.returncode + AbstractPollTask.cancel(self) =20 def isAlive(self): return self.pid is not None and \