From: Christian Heller Date: Fri, 30 May 2025 12:22:51 +0000 (+0200) Subject: Ensure loop threads are finished before returning from their context. X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/processes?a=commitdiff_plain;h=419253eacd4d1e40041f0d5bc498bbd7951e24eb;p=ircplom Ensure loop threads are finished before returning from their context. --- diff --git a/ircplom.py b/ircplom.py index 53b0788..48bf8e9 100755 --- a/ircplom.py +++ b/ircplom.py @@ -280,13 +280,15 @@ class Loop: self._q_to_main = q_to_main self._bonus_iterator = bonus_iterator self._q_input: SimpleQueue[Event] = SimpleQueue() - Thread(target=self._loop, daemon=False).start() + self._thread = Thread(target=self._loop, daemon=False) + self._thread.start() def __enter__(self) -> Self: return self def __exit__(self, *_) -> Literal[False]: self._q_input.put(Event('QUIT')) + self._thread.join() return False # re-raise any exception that above ignored def put(self, event: Event) -> None: