From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id AEB201384B4 for ; Mon, 23 Nov 2015 16:28:24 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 28DA021C0BD; Mon, 23 Nov 2015 16:28:22 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C4C1A21C0BD for ; Mon, 23 Nov 2015 16:28:21 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 8EC2134063E for ; Mon, 23 Nov 2015 16:28:19 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id EFE58A7F for ; Mon, 23 Nov 2015 16:28:14 +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: <1448296048.fc78181d856ef0ecf6fa21262cc87fe71426d8e3.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/SpawnProcess.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: fc78181d856ef0ecf6fa21262cc87fe71426d8e3 X-VCS-Branch: master Date: Mon, 23 Nov 2015 16:28:14 +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: ec498166-5f72-49aa-9906-1ebd55a42d98 X-Archives-Hash: 62a7d3ad743f7c17925cbf8747df170e commit: fc78181d856ef0ecf6fa21262cc87fe71426d8e3 Author: Zac Medico gentoo org> AuthorDate: Sat Nov 21 19:12:20 2015 +0000 Commit: Zac Medico gentoo org> CommitDate: Mon Nov 23 16:27:28 2015 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=fc78181d SpawnProcess: make _cancel kill all processes in cgroup (bug 566414) Since the _cancel method is used to kill subprocesses after die is called, this fixes die calls in subshells to kill all processes in the cgroup. For example, see the test ebuild attached to bug 465008, which would hang for 60 seconds after die was called as follows: sleep 60 | ( false || die ) X-Gentoo-Bug: 566414 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=566414 Acked-by: Alexander Berntsen gentoo.org> pym/_emerge/SpawnProcess.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py index 5ab2e67..b4b4b5b 100644 --- a/pym/_emerge/SpawnProcess.py +++ b/pym/_emerge/SpawnProcess.py @@ -179,7 +179,13 @@ class SpawnProcess(SubProcess): def _set_returncode(self, wait_retval): SubProcess._set_returncode(self, wait_retval) + self._cgroup_cleanup() + def _cancel(self): + SubProcess._cancel(self) + self._cgroup_cleanup() + + def _cgroup_cleanup(self): if self.cgroup: def get_pids(cgroup): try: