From 8d1e9f83f338de21482547816834f4535cebf5bc Mon Sep 17 00:00:00 2001 From: MW Date: Thu, 15 Mar 2007 10:14:12 +0000 Subject: Cleaned up IGridServer interfaces. Added a try/catch around the http server Startup --- src/CAPS/SimHttp.cs | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'src/CAPS/SimHttp.cs') diff --git a/src/CAPS/SimHttp.cs b/src/CAPS/SimHttp.cs index eb20f3e..12bc9a8 100644 --- a/src/CAPS/SimHttp.cs +++ b/src/CAPS/SimHttp.cs @@ -38,6 +38,7 @@ using System.Collections; using System.Collections.Generic; using libsecondlife; using ServerConsole; +using OpenSim.GridServers; namespace OpenSim { @@ -54,16 +55,23 @@ namespace OpenSim } public void StartHTTP() { - ServerConsole.MainConsole.Instance.WriteLine("SimHttp.cs:StartHTTP() - Spawned main thread OK"); - Listener = new HttpListener(); - - Listener.Prefixes.Add("http://+:" + OpenSim_Main.cfg.IPListenPort + "/"); - Listener.Start(); - - HttpListenerContext context; - while(true) { - context = Listener.GetContext(); - ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest), context); + try + { + ServerConsole.MainConsole.Instance.WriteLine("SimHttp.cs:StartHTTP() - Spawned main thread OK"); + Listener = new HttpListener(); + + Listener.Prefixes.Add("http://+:" + OpenSim_Main.cfg.IPListenPort + "/"); + Listener.Start(); + + HttpListenerContext context; + while(true) { + context = Listener.GetContext(); + ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest), context); + } + } + catch (Exception e) + { + ServerConsole.MainConsole.Instance.WriteLine(e.Message); } } @@ -81,7 +89,10 @@ namespace OpenSim agent_data.lastname = (string)requestData["lastname"]; agent_data.AgentID = new LLUUID((string)requestData["agent_id"]); agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); - OpenSim_Main.gridServers.GridServer.agentcircuits.Add((uint)agent_data.circuitcode,agent_data); + if (OpenSim_Main.gridServers.GridServer.GetName() == "Remote") + { + ((RemoteGridBase) OpenSim_Main.gridServers.GridServer).agentcircuits.Add((uint)agent_data.circuitcode,agent_data); + } return ""; break; } -- cgit v1.1