python: use communicate to fix Popen deadlock
authorJoe Guo <joeg@catalyst.net.nz>
Fri, 15 Sep 2017 04:13:26 +0000 (16:13 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 19 Oct 2017 07:27:15 +0000 (09:27 +0200)
commit5dc773a5b00834c7a53130a73a48f49048bd55e8
treeb496365f27144035d3765aaf171b0435eac92f72
parent8ed3cac9e558c60ab0b7e32133cea5e156ef9549
python: use communicate to fix Popen deadlock

`Popen.wait()` will deadlock when using stdout=PIPE and/or stderr=PIPE and the
child process generates large output to a pipe such that it blocks waiting for
the OS pipe buffer to accept more data. Use communicate() to avoid that.

Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Thu Oct 19 09:27:16 CEST 2017 on sn-devel-144
python/samba/tests/__init__.py
selftest/knownfail.d/python-tests [deleted file]