diff options
author | Tom Grimshaw | 2010-05-29 01:03:59 -0700 |
---|---|---|
committer | Tom Grimshaw | 2010-05-29 01:03:59 -0700 |
commit | 2f409116db570be77fc75df188a4044250dce226 (patch) | |
tree | 424980e50591e1d4b7d89fe88960e457b19c457d /OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs | |
parent | Merge branch 'careminster-presence-refactor' of www.3dhosting.de:/var/git/car... (diff) | |
download | opensim-SC-2f409116db570be77fc75df188a4044250dce226.zip opensim-SC-2f409116db570be77fc75df188a4044250dce226.tar.gz opensim-SC-2f409116db570be77fc75df188a4044250dce226.tar.bz2 opensim-SC-2f409116db570be77fc75df188a4044250dce226.tar.xz |
Stop IGridService from throwing a fatal exception when an IPEndPoint cannot be resolved, and add some handlers to deal with this cleanly; a condition was observed on OSGrid where a neighbouring region with an invalid (unresolveable) hostname would prevent a region from starting. This is bad.
Diffstat (limited to 'OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs')
-rw-r--r-- | OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs index c426bba..6f159a0 100644 --- a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs | |||
@@ -87,7 +87,12 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
87 | paramList.Add(hash); | 87 | paramList.Add(hash); |
88 | 88 | ||
89 | XmlRpcRequest request = new XmlRpcRequest("link_region", paramList); | 89 | XmlRpcRequest request = new XmlRpcRequest("link_region", paramList); |
90 | string uri = "http://" + info.ExternalEndPoint.Address + ":" + info.HttpPort + "/"; | 90 | IPEndPoint ext = info.ExternalEndPoint; |
91 | string uri = ""; | ||
92 | if (ext != null) | ||
93 | { | ||
94 | uri = "http://" + ext.Address + ":" + info.HttpPort + "/"; | ||
95 | } | ||
91 | //m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: Linking to " + uri); | 96 | //m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: Linking to " + uri); |
92 | XmlRpcResponse response = null; | 97 | XmlRpcResponse response = null; |
93 | try | 98 | try |
@@ -189,7 +194,12 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
189 | paramList.Add(hash); | 194 | paramList.Add(hash); |
190 | 195 | ||
191 | XmlRpcRequest request = new XmlRpcRequest("get_region", paramList); | 196 | XmlRpcRequest request = new XmlRpcRequest("get_region", paramList); |
192 | string uri = "http://" + gatekeeper.ExternalEndPoint.Address + ":" + gatekeeper.HttpPort + "/"; | 197 | IPEndPoint ext = gatekeeper.ExternalEndPoint; |
198 | string uri = ""; | ||
199 | if (ext != null) | ||
200 | { | ||
201 | uri = "http://" + ext.Address + ":" + gatekeeper.HttpPort + "/"; | ||
202 | } | ||
193 | m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: contacting " + uri); | 203 | m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: contacting " + uri); |
194 | XmlRpcResponse response = null; | 204 | XmlRpcResponse response = null; |
195 | try | 205 | try |