diff --git a/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs b/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs index 56a891239f..fa29460290 100644 --- a/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs +++ b/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs @@ -620,7 +620,16 @@ namespace OpenSim.Region.Communications.Hypergrid string uri = "http://" + regInfo.ExternalHostName + ":" + regInfo.HttpPort + "/"; //Console.WriteLine("XXX uri: " + uri); XmlRpcRequest request = new XmlRpcRequest("expect_hg_user", SendParams); - XmlRpcResponse reply = request.Send(uri, 6000); + XmlRpcResponse reply; + try + { + reply = request.Send(uri, 6000); + } + catch (Exception e) + { + m_log.Warn("[HGrid]: Failed to notify region about user. Reason: " + e.Message); + return false; + } if (!reply.IsFault) { diff --git a/OpenSim/Region/Communications/Hypergrid/HGGridServicesGridMode.cs b/OpenSim/Region/Communications/Hypergrid/HGGridServicesGridMode.cs index f45c484366..58ec27ef82 100644 --- a/OpenSim/Region/Communications/Hypergrid/HGGridServicesGridMode.cs +++ b/OpenSim/Region/Communications/Hypergrid/HGGridServicesGridMode.cs @@ -237,7 +237,8 @@ namespace OpenSim.Region.Communications.Hypergrid Console.WriteLine("XXX Going local-grid region XXX"); RegionInfo regInfo = RequestNeighbourInfo(regionHandle); if (regInfo != null) - InformRegionOfUser(regInfo, agentData); + if (!InformRegionOfUser(regInfo, agentData)) + return false; return m_remoteBackend.InformRegionOfChildAgent(regionHandle, agentData); }