* Add necessary locking to BaseHttpServer.RemoveHTTPHandler()

0.6.5-rc1
Justin Clarke Casey 2009-03-19 16:51:21 +00:00
parent eb0c369409
commit 1e6056c24b
1 changed files with 14 additions and 7 deletions

View File

@ -180,7 +180,7 @@ namespace OpenSim.Framework.Servers
///
/// http://<hostname>:<port><method>
///
/// if the method starts with a slash. For example, AddHTTPHandler("/object/", ...) on a standalone region
/// if the method name starts with a slash. For example, AddHTTPHandler("/object/", ...) on a standalone region
/// server will register a handler that can be invoked with either
///
/// http://localhost:9000/?method=/object/
@ -1504,7 +1504,14 @@ namespace OpenSim.Framework.Servers
lock (m_streamHandlers) m_streamHandlers.Remove(handlerKey);
}
/// <summary>
/// Remove an HTTP handler
/// </summary>
/// <param name="httpMethod"></param>
/// <param name="path"></param>
public void RemoveHTTPHandler(string httpMethod, string path)
{
lock (m_HTTPHandlers)
{
if (httpMethod != null && httpMethod.Length == 0)
{
@ -1514,6 +1521,7 @@ namespace OpenSim.Framework.Servers
m_HTTPHandlers.Remove(GetHandlerKey(httpMethod, path));
}
}
/// <summary>
/// Remove the agent IF it is registered. Intercept the possible exception.
@ -1540,7 +1548,6 @@ namespace OpenSim.Framework.Servers
public bool RemoveLLSDHandler(string path, LLSDMethod handler)
{
try
{
if (handler == m_llsdHandlers[path])