aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation
diff options
context:
space:
mode:
authorCasperW2009-11-27 18:29:03 +0100
committerCasperW2009-11-30 21:17:15 +0100
commit9888f95068373f1bfdb289e85560a7d873d22696 (patch)
tree406867a636ba643eb91d7af860a8b01b73e11a51 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation
parentMerge branch 'master' into careminster (diff)
downloadopensim-SC-9888f95068373f1bfdb289e85560a7d873d22696.zip
opensim-SC-9888f95068373f1bfdb289e85560a7d873d22696.tar.gz
opensim-SC-9888f95068373f1bfdb289e85560a7d873d22696.tar.bz2
opensim-SC-9888f95068373f1bfdb289e85560a7d873d22696.tar.xz
Convert multiple lock()s which directly hinder script performance in linksets to ReaderWriterLockSlim.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index ec771e3..267928b 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -2950,8 +2950,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2950 return m_host.OwnerID.ToString(); 2950 return m_host.OwnerID.ToString();
2951 } 2951 }
2952 2952
2953 [DebuggerNonUserCode]
2953 public void llInstantMessage(string user, string message) 2954 public void llInstantMessage(string user, string message)
2954 { 2955 {
2956 UUID result;
2957 if (!UUID.TryParse(user, out result))
2958 {
2959 throw new Exception(String.Format("An invalid key of '{0} was passed to llInstantMessage", user));
2960 return;
2961 }
2962
2963
2955 m_host.AddScriptLPS(1); 2964 m_host.AddScriptLPS(1);
2956 2965
2957 // We may be able to use ClientView.SendInstantMessage here, but we need a client instance. 2966 // We may be able to use ClientView.SendInstantMessage here, but we need a client instance.
@@ -2966,7 +2975,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2966 UUID friendTransactionID = UUID.Random(); 2975 UUID friendTransactionID = UUID.Random();
2967 2976
2968 //m_pendingFriendRequests.Add(friendTransactionID, fromAgentID); 2977 //m_pendingFriendRequests.Add(friendTransactionID, fromAgentID);
2969 2978
2970 GridInstantMessage msg = new GridInstantMessage(); 2979 GridInstantMessage msg = new GridInstantMessage();
2971 msg.fromAgentID = new Guid(m_host.UUID.ToString()); // fromAgentID.Guid; 2980 msg.fromAgentID = new Guid(m_host.UUID.ToString()); // fromAgentID.Guid;
2972 msg.toAgentID = new Guid(user); // toAgentID.Guid; 2981 msg.toAgentID = new Guid(user); // toAgentID.Guid;