summaryrefslogtreecommitdiff
path: root/pygerrit/stream.py
diff options
context:
space:
mode:
Diffstat (limited to 'pygerrit/stream.py')
-rw-r--r--pygerrit/stream.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/pygerrit/stream.py b/pygerrit/stream.py
index 2184ae9..1834d66 100644
--- a/pygerrit/stream.py
+++ b/pygerrit/stream.py
@@ -57,13 +57,17 @@ class GerritStream(Thread):
stdout = channel.makefile()
stderr = channel.makefile_stderr()
while not self._stop.is_set():
- if channel.exit_status_ready():
- if channel.recv_stderr_ready():
- error = stderr.readline().strip()
+ try:
+ if channel.exit_status_ready():
+ if channel.recv_stderr_ready():
+ error = stderr.readline().strip()
+ else:
+ error = "Remote server connection closed"
+ self._error_event(error)
+ self._stop.set()
else:
- error = "Remote server connection closed"
- self._error_event(error)
+ data = stdout.readline()
+ self._gerrit.put_event(data)
+ except Exception as e:
+ self._error_event(repr(e))
self._stop.set()
- else:
- data = stdout.readline()
- self._gerrit.put_event(data)