while investigating why IRCBridgeModule.Close() was having no effect, i

noticed that Scene.Close() will only call Close on non-shared region
modules. i've now added code to SceneManager.Close() to collect all
shared region module from each scene before calling Scene.Close()
on it and then, once, all Scenes are closed, go through the list of
collected shared region modules and close them as well. SceneManager.Close()
is only called when we initiate a shutdown --- i've verified that a
Scene restart does not trigger the shutdown of shared modules :-)

also, this adds a couple of bug fixes to the IRCBridgeModule (which
after all didn't take kindly to being closed) as well as a check to
InterregionModule's Close() call.

finally, this fixes the RestPlugin's XmlWriter so that it no longer
includes the "xsd=..." and "xsi=..." junk.
This commit is contained in:
Dr Scofield
2008-05-30 12:29:30 +00:00
parent 1a47ff8094
commit 9590e671e6
6 changed files with 65 additions and 18 deletions

View File

@@ -169,7 +169,8 @@ namespace OpenSim.Region.Environment.Modules.Grid.Interregion
public void Close()
{
ChannelServices.UnregisterChannel(m_tcpChannel);
if (null != m_tcpChannel)
ChannelServices.UnregisterChannel(m_tcpChannel);
}
public string Name