diff options
author | Justin Clarke Casey | 2008-04-02 16:46:58 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-04-02 16:46:58 +0000 |
commit | f27f8610726b1e148d17e69c7fef34d2fc814bd3 (patch) | |
tree | db1d4c8fce9fa8edcf579f6275d3152d89792e43 /OpenSim | |
parent | fix ups to include OpenSim.Framework explicit includes (they (diff) | |
download | opensim-SC-f27f8610726b1e148d17e69c7fef34d2fc814bd3.zip opensim-SC-f27f8610726b1e148d17e69c7fef34d2fc814bd3.tar.gz opensim-SC-f27f8610726b1e148d17e69c7fef34d2fc814bd3.tar.bz2 opensim-SC-f27f8610726b1e148d17e69c7fef34d2fc814bd3.tar.xz |
* Attempt to resolve mantis 873 by placing caps removal operations in a critical section
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Framework/Communications/Capabilities/Caps.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 29 |
2 files changed, 17 insertions, 14 deletions
diff --git a/OpenSim/Framework/Communications/Capabilities/Caps.cs b/OpenSim/Framework/Communications/Capabilities/Caps.cs index 66de991..53cad66 100644 --- a/OpenSim/Framework/Communications/Capabilities/Caps.cs +++ b/OpenSim/Framework/Communications/Capabilities/Caps.cs | |||
@@ -401,7 +401,7 @@ namespace OpenSim.Region.Capabilities | |||
401 | { | 401 | { |
402 | try | 402 | try |
403 | { | 403 | { |
404 | // m_log.DebugFormat("[CAPS]: request: {0}, path: {1}, param: {2}", request, path, param); | 404 | //m_log.DebugFormat("[CAPS]: request: {0}, path: {1}, param: {2}", request, path, param); |
405 | 405 | ||
406 | Hashtable hash = (Hashtable) LLSD.LLSDDeserialize(Helpers.StringToField(request)); | 406 | Hashtable hash = (Hashtable) LLSD.LLSDDeserialize(Helpers.StringToField(request)); |
407 | LLSDTaskScriptUpdate llsdUpdateRequest = new LLSDTaskScriptUpdate(); | 407 | LLSDTaskScriptUpdate llsdUpdateRequest = new LLSDTaskScriptUpdate(); |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 7ee0478..2237922 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -1755,20 +1755,23 @@ namespace OpenSim.Region.Environment.Scenes | |||
1755 | /// <param name="agentId"></param> | 1755 | /// <param name="agentId"></param> |
1756 | public void RemoveCapsHandler(LLUUID agentId) | 1756 | public void RemoveCapsHandler(LLUUID agentId) |
1757 | { | 1757 | { |
1758 | if (m_capsHandlers.ContainsKey(agentId)) | 1758 | lock (m_capsHandlers) |
1759 | { | 1759 | { |
1760 | m_log.DebugFormat( | 1760 | if (m_capsHandlers.ContainsKey(agentId)) |
1761 | "[CAPS]: Removing CAPS handler for root agent {0} in {1}", | 1761 | { |
1762 | agentId, RegionInfo.RegionName); | 1762 | m_log.DebugFormat( |
1763 | 1763 | "[CAPS]: Removing CAPS handler for root agent {0} in {1}", | |
1764 | m_capsHandlers[agentId].DeregisterHandlers(); | 1764 | agentId, RegionInfo.RegionName); |
1765 | m_capsHandlers.Remove(agentId); | 1765 | |
1766 | } | 1766 | m_capsHandlers[agentId].DeregisterHandlers(); |
1767 | else | 1767 | m_capsHandlers.Remove(agentId); |
1768 | { | 1768 | } |
1769 | m_log.WarnFormat( | 1769 | else |
1770 | "[CAPS]: Received request to remove CAPS handler for root agent {0} in {1}, but no such CAPS handler found!", | 1770 | { |
1771 | agentId, RegionInfo.RegionName); | 1771 | m_log.WarnFormat( |
1772 | "[CAPS]: Received request to remove CAPS handler for root agent {0} in {1}, but no such CAPS handler found!", | ||
1773 | agentId, RegionInfo.RegionName); | ||
1774 | } | ||
1772 | } | 1775 | } |
1773 | } | 1776 | } |
1774 | 1777 | ||