From 3ffb2c57850849884674d1def54cfcd44b101272 Mon Sep 17 00:00:00 2001 From: Jonas Weinz Date: Fri, 14 Nov 2025 23:26:11 +0100 Subject: [PATCH] avoid session deadlock --- multiplayer_crosswords/server/websocket_crossword_server.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/multiplayer_crosswords/server/websocket_crossword_server.py b/multiplayer_crosswords/server/websocket_crossword_server.py index 3a1f142..5e02fcb 100644 --- a/multiplayer_crosswords/server/websocket_crossword_server.py +++ b/multiplayer_crosswords/server/websocket_crossword_server.py @@ -123,9 +123,10 @@ class MultiplayerSessionManager(object): logger.info("Removed %d idle sessions", len(idle_session_ids)) async def create_session(self, lang: str | Languages, grid_w: int, grid_h: int) -> MultiplayerSession: + # Remove idle sessions before creating a new one + await self.remove_idle_sessions() async with self._sessions_lock: - # Remove idle sessions before creating a new one - await self.remove_idle_sessions() + if isinstance(lang, str): lang = Languages(lang)