Possibly fixed the extremely rare PeerNotFound loop bug.
See explanation in http://2pktfkt.de/irc/minetest-delta/2011-08-22.htmlmaster
parent
7776d6228e
commit
a99450ab72
|
@ -1252,6 +1252,20 @@ void Server::AsyncRunStep()
|
||||||
m_uptime.set(m_uptime.get() + dtime);
|
m_uptime.set(m_uptime.get() + dtime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
// Process connection's timeouts
|
||||||
|
JMutexAutoLock lock2(m_con_mutex);
|
||||||
|
ScopeProfiler sp(&g_profiler, "Server: connection timeout processing");
|
||||||
|
m_con.RunTimeouts(dtime);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
// This has to be called so that the client list gets synced
|
||||||
|
// with the peer list of the connection
|
||||||
|
ScopeProfiler sp(&g_profiler, "Server: peer change handling");
|
||||||
|
handlePeerChanges();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Update m_time_of_day and overall game time
|
Update m_time_of_day and overall game time
|
||||||
*/
|
*/
|
||||||
|
@ -1294,20 +1308,6 @@ void Server::AsyncRunStep()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
// Process connection's timeouts
|
|
||||||
JMutexAutoLock lock2(m_con_mutex);
|
|
||||||
ScopeProfiler sp(&g_profiler, "Server: connection timeout processing");
|
|
||||||
m_con.RunTimeouts(dtime);
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
// This has to be called so that the client list gets synced
|
|
||||||
// with the peer list of the connection
|
|
||||||
ScopeProfiler sp(&g_profiler, "Server: peer change handling");
|
|
||||||
handlePeerChanges();
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
JMutexAutoLock lock(m_env_mutex);
|
JMutexAutoLock lock(m_env_mutex);
|
||||||
// Step environment
|
// Step environment
|
||||||
|
|
Loading…
Reference in New Issue