changeset 38179:6fb76897e066 stable

hghave: avoid a deadlock reading the child process's output The output of `pylint` is voluminous enough that it fills the buffer on Windows, and waited for the parent to read it out. But the parent was waiting on the child to exit. I'm not sure what the intent of setting `ret = -1` in the exception handler just above this was...
author Matt Harbison <matt_harbison@yahoo.com>
date Thu, 31 May 2018 22:11:47 -0400
parents 3790efb388ca
children 6ae62d62c3f6
files tests/hghave.py
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/tests/hghave.py	Thu May 31 09:19:09 2018 -0400
+++ b/tests/hghave.py	Thu May 31 22:11:47 2018 -0400
@@ -98,8 +98,8 @@
         if e.errno != errno.ENOENT:
             raise
         ret = -1
-    ret = p.wait()
-    s = p.stdout.read()
+    s = p.communicate()[0]
+    ret = p.returncode
     return (ignorestatus or not ret) and r.search(s)
 
 @check("baz", "GNU Arch baz client")