[redcode/crythread-2nd-pass] updated condition variable handling in Remote Console runtime to cut out extra unlock/lock

Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
This commit is contained in:
AMZN-ScottR
2021-08-12 14:18:10 -07:00
parent cc3d2e9969
commit c3ee798acc
@@ -132,14 +132,12 @@ void SRemoteServer::StopServer()
m_bAcceptClients = false;
AZ::AzSock::CloseSocket(m_socket);
m_socket = SOCKET_ERROR;
{
AZStd::scoped_lock lock(m_mutex);
for (TClients::iterator it = m_clients.begin(); it != m_clients.end(); ++it)
{
it->pClient->StopClient();
}
}
AZStd::unique_lock<AZStd::recursive_mutex> lock(m_mutex);
for (TClients::iterator it = m_clients.begin(); it != m_clients.end(); ++it)
{
it->pClient->StopClient();
}
m_stopCondition.wait(lock, [this] { return m_clients.empty(); });
}