* Add necessary locking to BaseHttpServer.RemoveHTTPHandler()
parent
eb0c369409
commit
1e6056c24b
|
@ -180,7 +180,7 @@ namespace OpenSim.Framework.Servers
|
||||||
///
|
///
|
||||||
/// http://<hostname>:<port><method>
|
/// 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
|
/// server will register a handler that can be invoked with either
|
||||||
///
|
///
|
||||||
/// http://localhost:9000/?method=/object/
|
/// http://localhost:9000/?method=/object/
|
||||||
|
@ -1504,7 +1504,14 @@ namespace OpenSim.Framework.Servers
|
||||||
lock (m_streamHandlers) m_streamHandlers.Remove(handlerKey);
|
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)
|
public void RemoveHTTPHandler(string httpMethod, string path)
|
||||||
|
{
|
||||||
|
lock (m_HTTPHandlers)
|
||||||
{
|
{
|
||||||
if (httpMethod != null && httpMethod.Length == 0)
|
if (httpMethod != null && httpMethod.Length == 0)
|
||||||
{
|
{
|
||||||
|
@ -1514,6 +1521,7 @@ namespace OpenSim.Framework.Servers
|
||||||
|
|
||||||
m_HTTPHandlers.Remove(GetHandlerKey(httpMethod, path));
|
m_HTTPHandlers.Remove(GetHandlerKey(httpMethod, path));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Remove the agent IF it is registered. Intercept the possible exception.
|
/// 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)
|
public bool RemoveLLSDHandler(string path, LLSDMethod handler)
|
||||||
{
|
{
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (handler == m_llsdHandlers[path])
|
if (handler == m_llsdHandlers[path])
|
||||||
|
|
Loading…
Reference in New Issue