diff options
XmlRpcGridRouter
Flesh out XmlRpcGridRouter to reap unused channels from gateway when scripts or objects are removed, or when the llCloseRemoteDataChannel is called.
See: http://http://forge.opensimulator.org/gf/project/xmlrpcrouter/ or
https://github.com/BlueWall/XmlRpcRouter
for php gateway and test code.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index acf4d8c..4108588 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -6856,6 +6856,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6856 | public void llCloseRemoteDataChannel(string channel) | 6856 | public void llCloseRemoteDataChannel(string channel) |
6857 | { | 6857 | { |
6858 | m_host.AddScriptLPS(1); | 6858 | m_host.AddScriptLPS(1); |
6859 | |||
6860 | IXmlRpcRouter xmlRpcRouter = m_ScriptEngine.World.RequestModuleInterface<IXmlRpcRouter>(); | ||
6861 | if (xmlRpcRouter != null) | ||
6862 | { | ||
6863 | xmlRpcRouter.UnRegisterReceiver(channel, m_item.ItemID); | ||
6864 | } | ||
6865 | |||
6859 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); | 6866 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); |
6860 | xmlrpcMod.CloseXMLRPCChannel((UUID)channel); | 6867 | xmlrpcMod.CloseXMLRPCChannel((UUID)channel); |
6861 | ScriptSleep(1000); | 6868 | ScriptSleep(1000); |