Fix deadlock in NetworkManager when network peer returns invalid event type

#1992
This commit is contained in:
Wojtek Figat
2023-11-28 11:24:46 +01:00
parent 35ebdb0ffe
commit a909b57e82

View File

@@ -382,7 +382,8 @@ void NetworkManagerService::Update()
// Process network messages
NetworkEvent event;
while (peer->PopEvent(event))
bool eventIsValid = true;
while (peer->PopEvent(event) && eventIsValid)
{
switch (event.EventType)
{
@@ -472,6 +473,9 @@ void NetworkManagerService::Update()
}
peer->RecycleMessage(event.Message);
break;
default:
eventIsValid = false;
break;
}
}