[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