diff --git a/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs b/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs index e395492411..dc2a70cdcc 100644 --- a/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs +++ b/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs @@ -208,8 +208,11 @@ namespace OpenSim.Region.Environment.Modules.Framework { m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", AgentID, m_scene.RegionInfo.RegionName); - while ((queues[AgentID] != null) && queues[AgentID].Count() > 0) + int count = 0; + while (queues.ContainsKey(AgentID) && queues[AgentID].Count() > 0 && count++ < 5) + { Thread.Sleep(1000); + } lock (queues) {