From a205d95d02c5963356dca153c0d2e6cec5293f5b Mon Sep 17 00:00:00 2001 From: David Malchin Date: Tue, 9 Jan 2024 23:53:17 +0200 Subject: [PATCH] fix(server/events): possibly fix deferral hangs (#310) --- server/events.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/events.lua b/server/events.lua index 2b3a3095a..bee9c8ed3 100644 --- a/server/events.lua +++ b/server/events.lua @@ -90,6 +90,7 @@ local function onPlayerConnecting(name, _, deferrals) local success, err = pcall(function() local isBanned, Reason = IsPlayerBanned(src --[[@as Source]]) if isBanned then + Wait(0) -- Mandatory wait deferrals.done(Reason) end end) @@ -98,6 +99,7 @@ local function onPlayerConnecting(name, _, deferrals) deferrals.update(string.format(Lang:t('info.checking_whitelisted'), name)) success, err = pcall(function() if not IsWhitelisted(src --[[@as Source]]) then + Wait(0) -- Mandatory wait deferrals.done(Lang:t('error.not_whitelisted')) end end) @@ -112,6 +114,10 @@ local function onPlayerConnecting(name, _, deferrals) -- wait for database to finish databasePromise:next(function() deferrals.update(string.format(Lang:t('info.join_server'), name)) + + -- Mandatory wait + Wait(0) + if queue then queue.awaitPlayerQueue(src --[[@as Source]], license, deferrals) else