aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2018-06-23 15:03:35 -0700
committerZac Medico <zmedico@gentoo.org>2018-06-23 15:15:13 -0700
commita9a62e57194ccefce1ecabb9df761993f35f53be (patch)
tree80073df4015b33005b34d553a3695ea625daade9 /pym/_emerge
parentRevert "_post_src_install_uid_fix: allow files with portage group permissions... (diff)
downloadportage-a9a62e57194ccefce1ecabb9df761993f35f53be.tar.gz
portage-a9a62e57194ccefce1ecabb9df761993f35f53be.tar.bz2
portage-a9a62e57194ccefce1ecabb9df761993f35f53be.zip
SpawnProcess._unregister: cancel PipeLogger (bug 658806)
If the PipeLogger has not closed itself before the _unregister method has been called, then it must be cancelled so that it will close the log immediately. This fixes the case reported in bug 658806, where an unclosed PipeLogger instance left the log file with a temporarily incomplete gzip stream. Bug: https://bugs.gentoo.org/658806
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/SpawnProcess.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py
index f592c543d..cd535d143 100644
--- a/pym/_emerge/SpawnProcess.py
+++ b/pym/_emerge/SpawnProcess.py
@@ -176,6 +176,9 @@ class SpawnProcess(SubProcess):
if self.cgroup is not None:
self._cgroup_cleanup()
self.cgroup = None
+ if self._pipe_logger is not None:
+ self._pipe_logger.cancel()
+ self._pipe_logger = None
def _cancel(self):
SubProcess._cancel(self)