aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-04-02 16:46:58 +0000
committerJustin Clarke Casey2008-04-02 16:46:58 +0000
commitf27f8610726b1e148d17e69c7fef34d2fc814bd3 (patch)
treedb1d4c8fce9fa8edcf579f6275d3152d89792e43
parentfix ups to include OpenSim.Framework explicit includes (they (diff)
downloadopensim-SC_OLD-f27f8610726b1e148d17e69c7fef34d2fc814bd3.zip
opensim-SC_OLD-f27f8610726b1e148d17e69c7fef34d2fc814bd3.tar.gz
opensim-SC_OLD-f27f8610726b1e148d17e69c7fef34d2fc814bd3.tar.bz2
opensim-SC_OLD-f27f8610726b1e148d17e69c7fef34d2fc814bd3.tar.xz
* Attempt to resolve mantis 873 by placing caps removal operations in a critical section
-rw-r--r--OpenSim/Framework/Communications/Capabilities/Caps.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs29
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