diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-01-24 14:00:44 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2020-01-24 14:00:45 +0100 |
commit | 94bf34511c28a48ae5f548c9f50acf8ef85f5ce6 (patch) | |
tree | 20228e21f39fd3777193e0bb189b77fb7a7ce5ec | |
parent | e74d1453739ff518713ed25edc632f0519148f1e (diff) | |
download | vyos-1x-94bf34511c28a48ae5f548c9f50acf8ef85f5ce6.tar.gz vyos-1x-94bf34511c28a48ae5f548c9f50acf8ef85f5ce6.zip |
Python: T1986: close subprocess channel
Without closing the communication channel to the subprocess, Python will
complain e.g. when executing vyos-smoketest binary.
/usr/lib/python3/dist-packages/vyos/configsession.py:110: ResourceWarning:
unclosed file <_io.BufferedReader name=3>
self.__run_command([CLI_SHELL_API, 'setupSession'])
ResourceWarning: Enable tracemalloc to get the object allocation traceback
-rw-r--r-- | python/vyos/config.py | 1 | ||||
-rw-r--r-- | python/vyos/configsession.py | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/python/vyos/config.py b/python/vyos/config.py index 6aed8693c..77698ac68 100644 --- a/python/vyos/config.py +++ b/python/vyos/config.py @@ -140,6 +140,7 @@ class Config(object): p = subprocess.Popen(cmd, stdout=subprocess.PIPE) out = p.stdout.read() p.wait() + p.communicate() if p.returncode != 0: raise VyOSError() else: diff --git a/python/vyos/configsession.py b/python/vyos/configsession.py index ed6288939..163f666c2 100644 --- a/python/vyos/configsession.py +++ b/python/vyos/configsession.py @@ -121,6 +121,7 @@ class ConfigSession(object): p = subprocess.Popen(cmd_list, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=self.__session_env) result = p.wait() output = p.stdout.read().decode() + p.communicate() if result != 0: raise ConfigSessionError(output) return output |