diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-08-25 14:48:45 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-08-25 14:50:39 -0700 |
commit | 5a24743e55acedcbae06b97401c6e39b0d5faa98 (patch) | |
tree | 7b071530472d82551c1085ba10532e63e7f6eeec /pym/_emerge/SpawnProcess.py | |
parent | 2aea972aa0c36531445172500ded32d7ddc07762 (diff) | |
download | portage-5a24743e55acedcbae06b97401c6e39b0d5faa98.tar.gz portage-5a24743e55acedcbae06b97401c6e39b0d5faa98.tar.bz2 portage-5a24743e55acedcbae06b97401c6e39b0d5faa98.zip |
python3.2 fixes: ResourceWarning: unclosed file
Diffstat (limited to 'pym/_emerge/SpawnProcess.py')
-rw-r--r-- | pym/_emerge/SpawnProcess.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py index 099407eda..065146c75 100644 --- a/pym/_emerge/SpawnProcess.py +++ b/pym/_emerge/SpawnProcess.py @@ -26,7 +26,7 @@ class SpawnProcess(SubProcess): "path_lookup", "pre_exec") __slots__ = ("args",) + \ - _spawn_kwarg_names + ("_selinux_type",) + _spawn_kwarg_names + ("_log_file_real", "_selinux_type",) _file_names = ("log", "process", "stdout") _files_dict = slot_dict_class(_file_names, prefix="") @@ -84,6 +84,7 @@ class SpawnProcess(SubProcess): files.log = open(_unicode_encode(logfile, encoding=_encodings['fs'], errors='strict'), mode='ab') if logfile.endswith('.gz'): + self._log_file_real = files.log files.log = gzip.GzipFile(filename='', mode='ab', fileobj=files.log) @@ -238,3 +239,9 @@ class SpawnProcess(SubProcess): self._unregister_if_appropriate(event) + def _unregister(self): + super(SpawnProcess, self)._unregister() + if self._log_file_real is not None: + # Avoid "ResourceWarning: unclosed file" since python 3.2. + self._log_file_real.close() + self._log_file_real = None |