diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-04-15 14:44:41 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-06-18 10:51:46 +0000 |
commit | c9a89027accff8385028a2b5e93465d28c63be36 (patch) | |
tree | 2dbfe29f7e1363de6054f20d377418492ca0b1f8 /mesonbuild/mesonlib.py | |
parent | cbe18e01e49613f0db30c563c80767b30325bf39 (diff) | |
download | meson-c9a89027accff8385028a2b5e93465d28c63be36.zip meson-c9a89027accff8385028a2b5e93465d28c63be36.tar.gz meson-c9a89027accff8385028a2b5e93465d28c63be36.tar.bz2 |
run_command: Add new kwarg 'capture'
capture: false means we won't try to read the stdout at all.
Closes https://github.com/mesonbuild/meson/issues/3364
Diffstat (limited to 'mesonbuild/mesonlib.py')
-rw-r--r-- | mesonbuild/mesonlib.py | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index e4951f9..21a6e29 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -796,22 +796,19 @@ def expand_arguments(args): return None return expended_args -def Popen_safe(args, write=None, stderr=subprocess.PIPE, **kwargs): +def Popen_safe(args, write=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE, **kwargs): import locale encoding = locale.getpreferredencoding() if sys.version_info < (3, 6) or not sys.stdout.encoding or encoding.upper() != 'UTF-8': - return Popen_safe_legacy(args, write=write, stderr=stderr, **kwargs) - p = subprocess.Popen(args, universal_newlines=True, - close_fds=False, - stdout=subprocess.PIPE, - stderr=stderr, **kwargs) + return Popen_safe_legacy(args, write=write, stdout=stdout, stderr=stderr, **kwargs) + p = subprocess.Popen(args, universal_newlines=True, close_fds=False, + stdout=stdout, stderr=stderr, **kwargs) o, e = p.communicate(write) return p, o, e -def Popen_safe_legacy(args, write=None, stderr=subprocess.PIPE, **kwargs): +def Popen_safe_legacy(args, write=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE, **kwargs): p = subprocess.Popen(args, universal_newlines=False, - stdout=subprocess.PIPE, - stderr=stderr, **kwargs) + stdout=stdout, stderr=stderr, **kwargs) if write is not None: write = write.encode('utf-8') o, e = p.communicate(write) |