Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
f9ee9efb97
|
@ -1348,7 +1348,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// Create child agents in neighbouring regions
|
// Create child agents in neighbouring regions
|
||||||
if (openChildAgents && !IsChildAgent)
|
if (openChildAgents && !IsChildAgent)
|
||||||
{
|
{
|
||||||
|
// Remember in HandleUseCircuitCode, we delayed this to here
|
||||||
SendInitialDataToMe();
|
SendInitialDataToMe();
|
||||||
|
|
||||||
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
||||||
if (m_agentTransfer != null)
|
if (m_agentTransfer != null)
|
||||||
Util.FireAndForget(delegate { m_agentTransfer.EnableChildAgents(this); });
|
Util.FireAndForget(delegate { m_agentTransfer.EnableChildAgents(this); });
|
||||||
|
|
|
@ -117,6 +117,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||||
|
|
||||||
private IConfig m_config;
|
private IConfig m_config;
|
||||||
|
|
||||||
|
private object m_Lock;
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -128,6 +130,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||||
if (!m_config.GetBoolean("enabled", false))
|
if (!m_config.GetBoolean("enabled", false))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
m_Lock = new object();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// retrieve configuration variables
|
// retrieve configuration variables
|
||||||
|
@ -1111,25 +1115,32 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||||
|
|
||||||
doc = new XmlDocument();
|
doc = new XmlDocument();
|
||||||
|
|
||||||
try
|
// Let's serialize all calls to Vivox. Most of these are driven by
|
||||||
|
// the clients (CAPs), when the user arrives at the region. We don't
|
||||||
|
// want to issue many simultaneous http requests to Vivox, because mono
|
||||||
|
// doesn't like that
|
||||||
|
lock (m_Lock)
|
||||||
{
|
{
|
||||||
// Otherwise prepare the request
|
try
|
||||||
m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl);
|
{
|
||||||
|
// Otherwise prepare the request
|
||||||
|
m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl);
|
||||||
|
|
||||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl);
|
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl);
|
||||||
|
|
||||||
// We are sending just parameters, no content
|
// We are sending just parameters, no content
|
||||||
req.ContentLength = 0;
|
req.ContentLength = 0;
|
||||||
|
|
||||||
// Send request and retrieve the response
|
// Send request and retrieve the response
|
||||||
using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse())
|
using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse())
|
||||||
using (Stream s = rsp.GetResponseStream())
|
using (Stream s = rsp.GetResponseStream())
|
||||||
using (XmlTextReader rdr = new XmlTextReader(s))
|
using (XmlTextReader rdr = new XmlTextReader(s))
|
||||||
doc.Load(rdr);
|
doc.Load(rdr);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.ErrorFormat("[VivoxVoice] Error in admin call : {0}", e.Message);
|
m_log.ErrorFormat("[VivoxVoice] Error in admin call : {0}", e.Message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we're debugging server responses, dump the whole
|
// If we're debugging server responses, dump the whole
|
||||||
|
|
Loading…
Reference in New Issue