aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares2008-11-28 19:44:44 +0000
committerTeravus Ovares2008-11-28 19:44:44 +0000
commit414bf2aaf1965d354927b7b2ebf57fcef1544d88 (patch)
tree83426c5ae84386e4fe07c91b48f766a2c2401fb2
parent* test: Add a wodge of code in order to be able to slightly extend a test to ... (diff)
downloadopensim-SC-414bf2aaf1965d354927b7b2ebf57fcef1544d88.zip
opensim-SC-414bf2aaf1965d354927b7b2ebf57fcef1544d88.tar.gz
opensim-SC-414bf2aaf1965d354927b7b2ebf57fcef1544d88.tar.bz2
opensim-SC-414bf2aaf1965d354927b7b2ebf57fcef1544d88.tar.xz
* The equals override of 'Location' is not working as expected. This caused sim restarts to fail because the test that searches for and shutsdown the UDP server listener for that region never found and shutdown the udp server. hence the error message, "only one listener on port".
* This is a high profile candidate for a unit test. (big)
-rw-r--r--OpenSim/Region/Application/OpenSimBase.cs2
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs8
2 files changed, 9 insertions, 1 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index f7ffa00..75bdcf3 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -484,6 +484,8 @@ namespace OpenSim
484 484
485 for (int i = 0; i < m_clientServers.Count; i++) 485 for (int i = 0; i < m_clientServers.Count; i++)
486 { 486 {
487 //--> Melanie, the following needs to be fixed
488 // the Equals override is not returning true if the locations are actually equal
487 if (m_clientServers[i].HandlesRegion(new Location(whichRegion.RegionHandle))) 489 if (m_clientServers[i].HandlesRegion(new Location(whichRegion.RegionHandle)))
488 { 490 {
489 clientServerElement = i; 491 clientServerElement = i;
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index 01f2a09..8653b23 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -106,7 +106,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
106 106
107 public bool HandlesRegion(Location x) 107 public bool HandlesRegion(Location x)
108 { 108 {
109 return x == m_location; 109 return x.RegionHandle == m_location.RegionHandle;
110 //return x == m_location;
110 } 111 }
111 112
112 public void AddScene(Scene x) 113 public void AddScene(Scene x)
@@ -306,6 +307,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
306 // the next set of UDP data is for a valid client. 307 // the next set of UDP data is for a valid client.
307 ResetServerEndPoint(e); 308 ResetServerEndPoint(e);
308 } 309 }
310 catch (System.ObjectDisposedException)
311 {
312 m_log.Info("[UDPSERVER]: UDP Object disposed. No need to worry about this if you're restarting the simulator.");
313 }
314
309 } 315 }
310 316
311 /// <summary> 317 /// <summary>