From 26339aa9d37903ff314e7c2314a6c7aab32e23a4 Mon Sep 17 00:00:00 2001 From: RickyRister Date: Thu, 29 May 2025 22:10:18 -0700 Subject: [PATCH] Put mutex around returning cards on concede --- common/server_player.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/server_player.cpp b/common/server_player.cpp index 01f6947fa..13a5405a6 100644 --- a/common/server_player.cpp +++ b/common/server_player.cpp @@ -920,6 +920,8 @@ Server_Player::cmdConcede(const Command_Concede & /*cmd*/, ResponseContainer & / game->removeArrowsRelatedToPlayer(ges, this); game->unattachCards(ges, this); + playerMutex.lock(); + // Return cards to their rightful owners before conceding the game static const QRegularExpression ownerRegex{"Owner: ?([^\n]+)"}; for (const auto &card : zones.value("table")->getCards()) { @@ -959,6 +961,8 @@ Server_Player::cmdConcede(const Command_Concede & /*cmd*/, ResponseContainer & / } } + playerMutex.unlock(); + // All borrowed cards have been returned, can now continue cleanup process clearZones();