[rtems-tools commit] rtemstoolkit: Fixes to the reader and writer threads for capturing
Chris Johns
chrisj at rtems.org
Tue Nov 27 02:55:44 UTC 2018
Module: rtems-tools
Branch: master
Commit: af5cecfff0f49355e7ca8f0cb33156959c3f067e
Changeset: http://git.rtems.org/rtems-tools/commit/?id=af5cecfff0f49355e7ca8f0cb33156959c3f067e
Author: Chris Johns <chrisj at rtems.org>
Date: Mon Nov 26 10:01:53 2018 +1100
rtemstoolkit: Fixes to the reader and writer threads for capturing
- Use the 'read1' file handle call to return if any data is queued
for reading from stdout or stderr.
- Flush the stdin pipe in the writer thread.
These changes let the execute module work on Python2 and Python3.
---
rtemstoolkit/execute.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/rtemstoolkit/execute.py b/rtemstoolkit/execute.py
index eb3c8c2..d509664 100755
--- a/rtemstoolkit/execute.py
+++ b/rtemstoolkit/execute.py
@@ -148,6 +148,7 @@ class execute(object):
if encoding:
lines = bytes(lines, sys.stdin.encoding)
fh.write(lines)
+ fh.flush()
except:
break
if lines == None or \
@@ -193,12 +194,12 @@ class execute(object):
# and the process is shutting down.
#
try:
- data = fh.read(4096)
+ data = fh.read1(4096)
except:
data = ''
if len(data) == 0:
if len(line) > 0:
- _output_line(l + '\n', exe, prefix, out, count)
+ _output_line(line + '\n', exe, prefix, out, count)
break
# str and bytes are the same type in Python2
if type(data) is not str and type(data) is bytes:
More information about the vc
mailing list