From 24a88794e6647851e48e2fdb61bcc23df0512ae5 Mon Sep 17 00:00:00 2001 From: Phil Taylor Date: Wed, 20 Oct 2021 12:13:18 +0100 Subject: [PATCH] Trying to find cause of lockup when client disappears --- udpserver.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/udpserver.cpp b/udpserver.cpp index 1db161d..ca4daec 100644 --- a/udpserver.cpp +++ b/udpserver.cpp @@ -86,8 +86,8 @@ udpServer::~udpServer() delete client->retransmitTimer; } - delete client; controlClients.removeAll(client); + delete client; } foreach(CLIENT * client, civClients) { @@ -104,8 +104,9 @@ udpServer::~udpServer() client->retransmitTimer->stop(); delete client->retransmitTimer; } - delete client; + civClients.removeAll(client); + delete client; } foreach(CLIENT * client, audioClients) { @@ -122,8 +123,8 @@ udpServer::~udpServer() client->retransmitTimer->stop(); delete client->retransmitTimer; } - delete client; audioClients.removeAll(client); + delete client; } if (rxAudioTimer != Q_NULLPTR) { @@ -1519,7 +1520,6 @@ void udpServer::sendRetransmitRequest(CLIENT* c) it.value()++; } } - c->missMutex.unlock(); if (missingSeqs.length() != 0) { @@ -1548,6 +1548,7 @@ void udpServer::sendRetransmitRequest(CLIENT* c) udpMutex.unlock(); } } + c->missMutex.unlock(); }