fix(timeout): Fix server timeout problems (clock too slow) under rare conditions

This commit is contained in:
Jérémie N'gadi
2017-11-04 10:34:04 +01:00
parent 6a174821f1
commit 4b1f056103
2 changed files with 19 additions and 31 deletions
+17 -7
View File
@@ -27,15 +27,25 @@ ESX.GetRandomString = function(length)
end
ESX.SetTimeout = function(msec, cb)
table.insert(ESX.TimeoutCallbacks, {
time = os.clock() * 1000 + msec,
cb = cb
})
return #ESX.TimeoutCallbacks
local id = ESX.TimeoutCount + 1
SetTimeout(msec, function()
if ESX.CancelledTimeouts[id] then
ESX.CancelledTimeouts[id] = nil
else
cb()
end
end)
return id
end
ESX.ClearTimeout = function(i)
ESX.TimeoutCallbacks[i] = nil
ESX.ClearTimeout = function(id)
ESX.CancelledTimeouts[id] = true
end
ESX.RegisterServerCallback = function(name, cb)