1 |
commit: 22fbdd3bf7de43c3bb216cd2da0623cd24280499 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Apr 29 19:16:06 2018 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Apr 29 20:27:32 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=22fbdd3b |
7 |
|
8 |
SpawnProcess: fix deprecated _set_returncode (bug 654276) |
9 |
|
10 |
Move cleanup code from _set_returncode to _unregister, since |
11 |
_set_returncode expects an os.waitpid return value which is |
12 |
inconveniently different from the returncode that is passed to |
13 |
asyncio.AbstractChildWatcher.add_child_handler callbacks. |
14 |
|
15 |
Bug: https://bugs.gentoo.org/654276 |
16 |
|
17 |
pym/_emerge/SpawnProcess.py | 11 ++++++----- |
18 |
1 file changed, 6 insertions(+), 5 deletions(-) |
19 |
|
20 |
diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py |
21 |
index 78eb5e9c0..f592c543d 100644 |
22 |
--- a/pym/_emerge/SpawnProcess.py |
23 |
+++ b/pym/_emerge/SpawnProcess.py |
24 |
@@ -117,8 +117,7 @@ class SpawnProcess(SubProcess): |
25 |
|
26 |
if isinstance(retval, int): |
27 |
# spawn failed |
28 |
- self._unregister() |
29 |
- self._set_returncode((self.pid, retval)) |
30 |
+ self.returncode = retval |
31 |
self._async_wait() |
32 |
return |
33 |
|
34 |
@@ -172,9 +171,11 @@ class SpawnProcess(SubProcess): |
35 |
self._pipe_logger = None |
36 |
self._async_waitpid() |
37 |
|
38 |
- def _set_returncode(self, wait_retval): |
39 |
- SubProcess._set_returncode(self, wait_retval) |
40 |
- self._cgroup_cleanup() |
41 |
+ def _unregister(self): |
42 |
+ SubProcess._unregister(self) |
43 |
+ if self.cgroup is not None: |
44 |
+ self._cgroup_cleanup() |
45 |
+ self.cgroup = None |
46 |
|
47 |
def _cancel(self): |
48 |
SubProcess._cancel(self) |