diff options
author | Justin Clark-Casey (justincc) | 2013-05-29 22:40:51 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-05-29 22:40:51 +0100 |
commit | f9ee9efb9703df4f762b694b6d0657de631264f4 (patch) | |
tree | 2798824e4fb71cab3a6d1fb3a77026e99b49467c | |
parent | Add HG regression TestCachedUserNameForNewAgent() (diff) | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-f9ee9efb9703df4f762b694b6d0657de631264f4.zip opensim-SC-f9ee9efb9703df4f762b694b6d0657de631264f4.tar.gz opensim-SC-f9ee9efb9703df4f762b694b6d0657de631264f4.tar.bz2 opensim-SC-f9ee9efb9703df4f762b694b6d0657de631264f4.tar.xz |
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs | 39 |
2 files changed, 27 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index e1a8941..ab7fd5b 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1348,7 +1348,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1348 | // Create child agents in neighbouring regions | 1348 | // Create child agents in neighbouring regions |
1349 | if (openChildAgents && !IsChildAgent) | 1349 | if (openChildAgents && !IsChildAgent) |
1350 | { | 1350 | { |
1351 | // Remember in HandleUseCircuitCode, we delayed this to here | ||
1351 | SendInitialDataToMe(); | 1352 | SendInitialDataToMe(); |
1353 | |||
1352 | IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); | 1354 | IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); |
1353 | if (m_agentTransfer != null) | 1355 | if (m_agentTransfer != null) |
1354 | Util.FireAndForget(delegate { m_agentTransfer.EnableChildAgents(this); }); | 1356 | Util.FireAndForget(delegate { m_agentTransfer.EnableChildAgents(this); }); |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs index cb69411..db4869d 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs | |||
@@ -117,6 +117,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice | |||
117 | 117 | ||
118 | private IConfig m_config; | 118 | private IConfig m_config; |
119 | 119 | ||
120 | private object m_Lock; | ||
121 | |||
120 | public void Initialise(IConfigSource config) | 122 | public void Initialise(IConfigSource config) |
121 | { | 123 | { |
122 | 124 | ||
@@ -128,6 +130,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice | |||
128 | if (!m_config.GetBoolean("enabled", false)) | 130 | if (!m_config.GetBoolean("enabled", false)) |
129 | return; | 131 | return; |
130 | 132 | ||
133 | m_Lock = new object(); | ||
134 | |||
131 | try | 135 | try |
132 | { | 136 | { |
133 | // retrieve configuration variables | 137 | // retrieve configuration variables |
@@ -1111,25 +1115,32 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice | |||
1111 | 1115 | ||
1112 | doc = new XmlDocument(); | 1116 | doc = new XmlDocument(); |
1113 | 1117 | ||
1114 | try | 1118 | // Let's serialize all calls to Vivox. Most of these are driven by |
1119 | // the clients (CAPs), when the user arrives at the region. We don't | ||
1120 | // want to issue many simultaneous http requests to Vivox, because mono | ||
1121 | // doesn't like that | ||
1122 | lock (m_Lock) | ||
1115 | { | 1123 | { |
1116 | // Otherwise prepare the request | 1124 | try |
1117 | m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl); | 1125 | { |
1126 | // Otherwise prepare the request | ||
1127 | m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl); | ||
1118 | 1128 | ||
1119 | HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl); | 1129 | HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl); |
1120 | 1130 | ||
1121 | // We are sending just parameters, no content | 1131 | // We are sending just parameters, no content |
1122 | req.ContentLength = 0; | 1132 | req.ContentLength = 0; |
1123 | 1133 | ||
1124 | // Send request and retrieve the response | 1134 | // Send request and retrieve the response |
1125 | using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse()) | 1135 | using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse()) |
1126 | using (Stream s = rsp.GetResponseStream()) | 1136 | using (Stream s = rsp.GetResponseStream()) |
1127 | using (XmlTextReader rdr = new XmlTextReader(s)) | 1137 | using (XmlTextReader rdr = new XmlTextReader(s)) |
1128 | doc.Load(rdr); | 1138 | doc.Load(rdr); |
1129 | } | 1139 | } |
1130 | catch (Exception e) | 1140 | catch (Exception e) |
1131 | { | 1141 | { |
1132 | m_log.ErrorFormat("[VivoxVoice] Error in admin call : {0}", e.Message); | 1142 | m_log.ErrorFormat("[VivoxVoice] Error in admin call : {0}", e.Message); |
1143 | } | ||
1133 | } | 1144 | } |
1134 | 1145 | ||
1135 | // If we're debugging server responses, dump the whole | 1146 | // If we're debugging server responses, dump the whole |