sel = selectors.DefaultSelector()
sel.register(p.stdout, selectors.EVENT_READ)
sel.register(p.stderr, selectors.EVENT_READ)
- should_exit = False
- while not should_exit:
+ stream_ends = 0
+ while stream_ends < 2:
for key, _ in sel.select():
char = key.fileobj.read(1)
if not char:
- should_exit = True
+ stream_ends += 1
+ continue
if key.fileobj is p.stdout:
sys.stdout.buffer.write(char)
if char in line_enders: