diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs index 2f363f4..c34bafa 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs | |||
@@ -650,8 +650,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
650 | 650 | ||
651 | if (HasUpdates(m_categories)) | 651 | if (HasUpdates(m_categories)) |
652 | { | 652 | { |
653 | // Asynchronously run the callback | 653 | if (!m_udpServer.OqrEngine.IsRunning) |
654 | Util.FireAndForget(FireQueueEmpty, categories); | 654 | { |
655 | // Asynchronously run the callback | ||
656 | Util.FireAndForget(FireQueueEmpty, categories); | ||
657 | } | ||
658 | else | ||
659 | { | ||
660 | m_udpServer.OqrEngine.QueueRequest(this, categories); | ||
661 | } | ||
655 | } | 662 | } |
656 | else | 663 | else |
657 | { | 664 | { |
@@ -670,7 +677,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
670 | /// <param name="o">Throttle categories to fire the callback for, | 677 | /// <param name="o">Throttle categories to fire the callback for, |
671 | /// stored as an object to match the WaitCallback delegate | 678 | /// stored as an object to match the WaitCallback delegate |
672 | /// signature</param> | 679 | /// signature</param> |
673 | private void FireQueueEmpty(object o) | 680 | public void FireQueueEmpty(object o) |
674 | { | 681 | { |
675 | // m_log.DebugFormat("[LLUDPCLIENT]: FireQueueEmpty for {0} in {1}", AgentID, m_udpServer.Scene.Name); | 682 | // m_log.DebugFormat("[LLUDPCLIENT]: FireQueueEmpty for {0} in {1}", AgentID, m_udpServer.Scene.Name); |
676 | 683 | ||