From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 9F8E2138331 for ; Thu, 26 Apr 2018 08:06:08 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E4418E0824; Thu, 26 Apr 2018 08:06:07 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BED09E0824 for ; Thu, 26 Apr 2018 08:06:07 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id AF314335C63 for ; Thu, 26 Apr 2018 08:06:06 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 44BDA28C for ; Thu, 26 Apr 2018 08:06:05 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1524729665.03a635e3a95fbe4afc6fb2fae2e56c03ef946933.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/AbstractPollTask.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 03a635e3a95fbe4afc6fb2fae2e56c03ef946933 X-VCS-Branch: master Date: Thu, 26 Apr 2018 08:06:05 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: fdfa9a84-c640-4186-89d7-338f60bbe82c X-Archives-Hash: bad8ca459ba0906ec9f2bbee48287cb8 commit: 03a635e3a95fbe4afc6fb2fae2e56c03ef946933 Author: Zac Medico gentoo org> AuthorDate: Thu Apr 26 07:40:05 2018 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu Apr 26 08:01:05 2018 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=03a635e3 AbstractPollTask._unregister_if_appropriate: use _async_wait() (bug 591760) Use _async_wait() to avoid event loop recursion. This change only affects PipeLogger, PipeReader, and FifoWriter, since other subclasses inherit the Subprocess implementation that was fixed in commit c5ab0696cec1f0f020d2d8ad416f9b1444a467de. Bug: https://bugs.gentoo.org/591760 pym/_emerge/AbstractPollTask.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pym/_emerge/AbstractPollTask.py b/pym/_emerge/AbstractPollTask.py index aa8fc6593..d2965cc31 100644 --- a/pym/_emerge/AbstractPollTask.py +++ b/pym/_emerge/AbstractPollTask.py @@ -128,10 +128,12 @@ class AbstractPollTask(AsynchronousTask): self._log_poll_exception(event) self._unregister() self.cancel() - self.wait() + self.returncode = self.returncode or os.EX_OK + self._async_wait() elif event & self.scheduler.IO_HUP: self._unregister() - self.wait() + self.returncode = self.returncode or os.EX_OK + self._async_wait() def _wait(self): if self.returncode is not None: