summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kvmd/streamer.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/kvmd/streamer.py b/kvmd/streamer.py
index 24097547..8a23c715 100644
--- a/kvmd/streamer.py
+++ b/kvmd/streamer.py
@@ -106,17 +106,17 @@ class Streamer: # pylint: disable=too-many-instance-attributes
logger.info("Started streamer pid=%d: %s", proc.pid, cmd)
empty = 0
- while proc.returncode is None:
- line = (await proc.stdout.readline()).decode(errors="ignore").strip()
+ async for line_bytes in proc.stdout: # type: ignore
+ line = line_bytes.decode(errors="ignore").strip()
if line:
- logger.info("streamer: %s", line)
+ logger.info("Streamer: %s", line)
empty = 0
else:
empty += 1
if empty == 100: # asyncio bug
- break
+ raise RuntimeError("Streamer/asyncio: too many empty lines")
- raise RuntimeError("WTF")
+ raise RuntimeError("Streamer unexpectedly died")
except asyncio.CancelledError:
break