Mantis #851, 100% CPU on unhandlet HTTP event. Thanks cmickeyb.

0.6.0-stable
Tedd Hansen 2008-04-18 15:25:43 +00:00
parent a2b32bdd6f
commit acb0b06fed
1 changed files with 21 additions and 9 deletions

View File

@ -72,19 +72,31 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase.AsyncCommandPlugin
// implemented here yet anyway. Should be fixed if/when maxsize
// is supported
if (m_CmdManager.m_ScriptEngine.m_ScriptManager.GetScript(httpInfo.localID, httpInfo.itemID) != null)
{
bool handled = false;
iHttpReq.RemoveCompletedRequest(httpInfo.reqID);
foreach (ScriptEngine sman in ScriptEngine.ScriptEngines)
{
if (sman.m_ScriptManager.GetScript(httpInfo.localID, httpInfo.itemID) != null)
{
object[] resobj = new object[]
{
httpInfo.reqID.ToString(), httpInfo.status, null, httpInfo.response_body
};
m_CmdManager.m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
sman.m_EventQueueManager.AddToScriptQueue(
httpInfo.localID, httpInfo.itemID, "http_response", EventQueueManager.llDetectNull, resobj
);
handled = true;
break;
//Thread.Sleep(2500);
}
}
if (!handled)
{
Console.WriteLine("Unhandled http_response: " + httpInfo.reqID);
}
httpInfo = iHttpReq.GetNextCompletedRequest();
}