forked from Mirrors/openclonk
Fix crash on network join in Win32 scheduler
parent
5f30a6b428
commit
52caf696e6
|
@ -84,14 +84,17 @@ bool StdScheduler::DoScheduleProcs(int iTimeout)
|
|||
}
|
||||
|
||||
// Execute all processes with timeout
|
||||
// Iterate over the index because procedures may be added or removed during execution
|
||||
// (If they are removed, we skip one execution, which doesn't really matter in practice)
|
||||
auto tNow = C4TimeMilliseconds::Now();
|
||||
for (auto proc = procs.begin(); proc != procs.end(); ++proc)
|
||||
for (size_t i_proc = 0u; i_proc < procs.size(); ++i_proc)
|
||||
{
|
||||
auto tProcTick = (*proc)->GetNextTick(tNow);
|
||||
StdSchedulerProc *proc = procs[i_proc];
|
||||
auto tProcTick = proc->GetNextTick(tNow);
|
||||
if (tProcTick <= tNow)
|
||||
if (!(*proc)->Execute(0))
|
||||
if (!proc->Execute(0))
|
||||
{
|
||||
OnError(*proc);
|
||||
OnError(proc);
|
||||
fSuccess = false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue