From 87767be4a66c8cfd68a6f6b7b19ac9335047f59f Mon Sep 17 00:00:00 2001 From: RickyRister <42636155+RickyRister@users.noreply.github.com> Date: Sun, 8 Jun 2025 19:28:59 -0700 Subject: [PATCH] Put mutex around returning cards on concede (#5964) --- 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();