From 9314c88b4af32047a679117da5c5418d723bae88 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Mon, 15 Sep 2025 22:55:12 +0200 Subject: [PATCH] Eliminate race condition of ClientEvents sent before NewClientEvent initialized ClientsDb entry. --- ircplom/client.py | 4 ++-- ircplom/client_tui.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ircplom/client.py b/ircplom/client.py index ca85113..8e8e760 100644 --- a/ircplom/client.py +++ b/ircplom/client.py @@ -733,9 +733,8 @@ class Client(ABC, ClientQueueMixin): setattr(self.db, k, getattr(conn_setup, k)) if self.db.port <= 0: self.db.port = PORT_SSL - self._start_connecting() - def _start_connecting(self) -> None: + def start_connecting(self) -> None: def connect(self) -> None: try: @@ -904,6 +903,7 @@ class NewClientEvent(AffectiveEvent): def affect(self, target: ClientsDb) -> None: target[self.payload.client_id] = self.payload + self.payload.start_connecting() @dataclass diff --git a/ircplom/client_tui.py b/ircplom/client_tui.py index 6c35ccd..41887c6 100644 --- a/ircplom/client_tui.py +++ b/ircplom/client_tui.py @@ -488,7 +488,7 @@ class ClientKnowingTui(Client): self._log('not re-connecting since already connected', scope=LogScope.SAME, alert=True) return - self._start_connecting() + self.start_connecting() def _log(self, msg: str, scope: Optional[LogScope] = None, **kwargs ) -> None: -- 2.30.2