Skip to content

Commit 52b4de3

Browse files
committed
Improve reading of stdout
1 parent 50f3f48 commit 52b4de3

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

PyStemmusScope/bmi/local_process.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,16 @@ def read_stdout(process: subprocess.Popen) -> bytes: # pragma: no cover
2828
"""Read from stdout. If the stream ends unexpectedly, an error is raised."""
2929
assert process.stdout is not None # required for type narrowing.
3030
read = process.stdout.read(1)
31-
if read is None:
32-
sleep(5)
31+
32+
retries = 0
33+
retry_time = 0.1
34+
while read is None:
35+
sleep(retry_time)
3336
read = process.stdout.read(1)
34-
if read is not None:
35-
return bytes(read)
36-
msg = "Connection error: could not find expected output or "
37-
raise ConnectionError(msg)
37+
retries += 1
38+
if retries > int(60 / retry_time):
39+
msg = "Connection error: could not find expected output or "
40+
raise ConnectionError(msg)
3841
return bytes(read)
3942

4043

0 commit comments

Comments
 (0)