From 0ced97e3eb746a58dfe5039834d8b6be80135de3 Mon Sep 17 00:00:00 2001 From: Junzi Sun Date: Mon, 17 Aug 2020 00:53:49 +0200 Subject: [PATCH] fix exception buffer bug --- pyModeS/extra/rtlreader.py | 7 +++++-- pyModeS/extra/tcpclient.py | 6 +++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pyModeS/extra/rtlreader.py b/pyModeS/extra/rtlreader.py index 3c40ebc..d14f270 100644 --- a/pyModeS/extra/rtlreader.py +++ b/pyModeS/extra/rtlreader.py @@ -31,6 +31,8 @@ class RtlReader(object): self.stop_flag = False self.noise_floor = 1e6 + self.exception_queue = None + def _calc_noise(self): """Calculate noise floor""" window = smaples_per_microsec * 100 @@ -162,6 +164,7 @@ class RtlReader(object): def run(self, raw_pipe_in=None, stop_flag=None, exception_queue=None): self.raw_pipe_in = raw_pipe_in + self.exception_queue = exception_queue self.stop_flag = stop_flag try: @@ -173,8 +176,8 @@ class RtlReader(object): except Exception as e: tb = traceback.format_exc() - if exception_queue is not None: - exception_queue.put(tb) + if self.exception_queue is not None: + self.exception_queue.put(tb) raise e diff --git a/pyModeS/extra/tcpclient.py b/pyModeS/extra/tcpclient.py index 26be3be..b9e1ca4 100644 --- a/pyModeS/extra/tcpclient.py +++ b/pyModeS/extra/tcpclient.py @@ -28,6 +28,8 @@ class TcpClient(object): self.raw_pipe_in = None self.stop_flag = False + self.exception_queue = None + def connect(self): self.socket = zmq.Context().socket(zmq.STREAM) self.socket.setsockopt(zmq.LINGER, 0) @@ -255,6 +257,7 @@ class TcpClient(object): def run(self, raw_pipe_in=None, stop_flag=None, exception_queue=None): self.raw_pipe_in = raw_pipe_in + self.exception_queue = exception_queue self.stop_flag = stop_flag self.connect() @@ -286,7 +289,8 @@ class TcpClient(object): continue except Exception as e: tb = traceback.format_exc() - exception_queue.put(tb) + if self.exception_queue is not None: + self.exception_queue.put(tb) raise e