[10848] New system for parallelizing client packet processing. Handle WorldSession updates in Map::Update() where we are safe to proceed. Thank you for all your feedback!

Signed-off-by: Ambal <pogrebniak@gala.net>
This commit is contained in:
Ambal 2010-12-09 20:20:58 +02:00
parent 4e72ead2fb
commit 5f539117a4
8 changed files with 1447 additions and 1322 deletions

View file

@ -1882,11 +1882,14 @@ void World::UpdateSessions( uint32 diff )
next = itr;
++next;
///- and remove not active sessions from the list
if(!itr->second->Update(diff)) // As interval = 0
WorldSession * pSession = itr->second;
WorldSessionFilter updater(pSession);
if(!pSession->Update(diff, updater)) // As interval = 0
{
RemoveQueuedSession (itr->second);
delete itr->second;
RemoveQueuedSession(pSession);
m_sessions.erase(itr);
delete pSession;
}
}
}