Skip to content

Commit

Permalink
ENH: Gracefully handle KeyboardInterrupt in other processes
Browse files Browse the repository at this point in the history
  • Loading branch information
cortadocodes committed Feb 11, 2022
1 parent 922754e commit f5599ab
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions data_gateway/packet_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,12 @@ def read_packets(self, serial_port, packet_queue, stop_signal):

packet_queue.put({"packet_type": packet_type, "packet": packet})

except Exception as e:
except KeyboardInterrupt:
pass

finally:
logger.info("Sending stop signal.")
stop_signal.value = 1
raise e

def parse_packets(self, packet_queue, stop_signal, stop_when_no_more_data=False):
"""Get packets from a thread-safe packet queue, check if a full payload has been received (i.e. correct length)
Expand Down Expand Up @@ -194,6 +196,9 @@ def parse_packets(self, packet_queue, stop_signal, stop_when_no_more_data=False)
]:
self._parse_info_packet(self.handles[packet_type], packet)

except KeyboardInterrupt:
pass

finally:
logger.info("Sending stop signal.")
stop_signal.value = 1
Expand Down

0 comments on commit f5599ab

Please sign in to comment.