aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorTedd Hansen2008-02-02 06:34:07 +0000
committerTedd Hansen2008-02-02 06:34:07 +0000
commitb089ccfa3d351b4dba43bcbc284d87d7c4963dae (patch)
tree19c7e9baea656b1c112754ce777cde391101369b /OpenSim/Framework
parentLast patch was a disaster... reset terrain whenever bug occurred. Trying agai... (diff)
downloadopensim-SC_OLD-b089ccfa3d351b4dba43bcbc284d87d7c4963dae.zip
opensim-SC_OLD-b089ccfa3d351b4dba43bcbc284d87d7c4963dae.tar.gz
opensim-SC_OLD-b089ccfa3d351b4dba43bcbc284d87d7c4963dae.tar.bz2
opensim-SC_OLD-b089ccfa3d351b4dba43bcbc284d87d7c4963dae.tar.xz
Hopefully fixed MySQL DB crash on startup issue (so we can remove 3 sec wait).
Added option to try alternate UDP ports if the one configured is in use. UDP packets are now bound to the actual outside IP address and hopefully won't "randomly" select IP on multihomed systems.
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Console/LogBase.cs14
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLDataStore.cs5
-rw-r--r--OpenSim/Framework/RegionInfo.cs16
-rw-r--r--OpenSim/Framework/SerializableRegionInfo.cs2
4 files changed, 33 insertions, 4 deletions
diff --git a/OpenSim/Framework/Console/LogBase.cs b/OpenSim/Framework/Console/LogBase.cs
index 0036921..f7d0d1f 100644
--- a/OpenSim/Framework/Console/LogBase.cs
+++ b/OpenSim/Framework/Console/LogBase.cs
@@ -67,7 +67,19 @@ namespace OpenSim.Framework.Console
67 67
68 System.Console.WriteLine("Logs will be saved to current directory in " + LogFile); 68 System.Console.WriteLine("Logs will be saved to current directory in " + LogFile);
69 69
70 Log = File.AppendText(LogFile); 70 try
71 {
72 Log = File.AppendText(LogFile);
73 }
74 catch (Exception ex)
75 {
76 System.Console.WriteLine("Unable to open log file. Do you already have another copy of OpenSim running? Permission problem?");
77 System.Console.WriteLine(ex.Message);
78 System.Console.WriteLine("");
79 System.Console.WriteLine("Application is terminating.");
80 System.Console.WriteLine("");
81 System.Threading.Thread.CurrentThread.Abort();
82 }
71 Log.WriteLine("========================================================================"); 83 Log.WriteLine("========================================================================");
72 Log.WriteLine(componentname + " Started at " + DateTime.Now.ToString()); 84 Log.WriteLine(componentname + " Started at " + DateTime.Now.ToString());
73 } 85 }
diff --git a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
index 7ac4bde..45d0720 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
@@ -417,8 +417,9 @@ namespace OpenSim.Framework.Data.MySQL
417 417
418 public void StoreLandObject(Land parcel, LLUUID regionUUID) 418 public void StoreLandObject(Land parcel, LLUUID regionUUID)
419 { 419 {
420 MainLog.Instance.Verbose("DATASTORE", "Tedds temp fix: Waiting 3 seconds for stuff to catch up. (Someone please fix! :))"); 420 // Does the new locking fix it?
421 System.Threading.Thread.Sleep(3000); 421 //MainLog.Instance.Verbose("DATASTORE", "Tedds temp fix: Waiting 3 seconds for stuff to catch up. (Someone please fix! :))");
422 //System.Threading.Thread.Sleep(3000);
422 423
423 lock (DBAccessLock) 424 lock (DBAccessLock)
424 { 425 {
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index 8d4e905..b843774 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -67,6 +67,7 @@ namespace OpenSim.Framework
67 m_internalEndPoint = ConvertFrom.InternalEndPoint; 67 m_internalEndPoint = ConvertFrom.InternalEndPoint;
68 m_externalHostName = ConvertFrom.ExternalHostName; 68 m_externalHostName = ConvertFrom.ExternalHostName;
69 m_remotingPort = ConvertFrom.RemotingPort; 69 m_remotingPort = ConvertFrom.RemotingPort;
70 m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports;
70 RemotingAddress = ConvertFrom.RemotingAddress; 71 RemotingAddress = ConvertFrom.RemotingAddress;
71 RegionID = LLUUID.Zero; 72 RegionID = LLUUID.Zero;
72 } 73 }
@@ -80,6 +81,7 @@ namespace OpenSim.Framework
80 get { return m_remotingPort; } 81 get { return m_remotingPort; }
81 set { m_remotingPort = value; } 82 set { m_remotingPort = value; }
82 } 83 }
84 public bool m_allow_alternate_ports;
83 85
84 public string RemotingAddress; 86 public string RemotingAddress;
85 87
@@ -125,6 +127,8 @@ namespace OpenSim.Framework
125 set { m_externalHostName = value; } 127 set { m_externalHostName = value; }
126 } 128 }
127 129
130 protected bool Allow_Alternate_Ports;
131
128 protected IPEndPoint m_internalEndPoint; 132 protected IPEndPoint m_internalEndPoint;
129 133
130 public IPEndPoint InternalEndPoint 134 public IPEndPoint InternalEndPoint
@@ -163,6 +167,8 @@ namespace OpenSim.Framework
163 public bool isSandbox = false; 167 public bool isSandbox = false;
164 public bool commFailTF = false; 168 public bool commFailTF = false;
165 169
170 public bool m_allow_alternate_ports;
171
166 public LLUUID MasterAvatarAssignedUUID = LLUUID.Zero; 172 public LLUUID MasterAvatarAssignedUUID = LLUUID.Zero;
167 public LLUUID CovenantID = LLUUID.Zero; 173 public LLUUID CovenantID = LLUUID.Zero;
168 public string MasterAvatarFirstName = String.Empty; 174 public string MasterAvatarFirstName = String.Empty;
@@ -217,6 +223,7 @@ namespace OpenSim.Framework
217 m_internalEndPoint = ConvertFrom.InternalEndPoint; 223 m_internalEndPoint = ConvertFrom.InternalEndPoint;
218 m_externalHostName = ConvertFrom.ExternalHostName; 224 m_externalHostName = ConvertFrom.ExternalHostName;
219 m_remotingPort = ConvertFrom.RemotingPort; 225 m_remotingPort = ConvertFrom.RemotingPort;
226 m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports;
220 RemotingAddress = ConvertFrom.RemotingAddress; 227 RemotingAddress = ConvertFrom.RemotingAddress;
221 RegionID = LLUUID.Zero; 228 RegionID = LLUUID.Zero;
222 } 229 }
@@ -228,6 +235,7 @@ namespace OpenSim.Framework
228 m_internalEndPoint = ConvertFrom.InternalEndPoint; 235 m_internalEndPoint = ConvertFrom.InternalEndPoint;
229 m_externalHostName = ConvertFrom.ExternalHostName; 236 m_externalHostName = ConvertFrom.ExternalHostName;
230 m_remotingPort = ConvertFrom.RemotingPort; 237 m_remotingPort = ConvertFrom.RemotingPort;
238 m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports;
231 RemotingAddress = ConvertFrom.RemotingAddress; 239 RemotingAddress = ConvertFrom.RemotingAddress;
232 RegionID = LLUUID.Zero; 240 RegionID = LLUUID.Zero;
233 } 241 }
@@ -300,6 +308,9 @@ namespace OpenSim.Framework
300 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, 308 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32,
301 "Internal IP Port for incoming UDP client connections", 309 "Internal IP Port for incoming UDP client connections",
302 NetworkServersInfo.DefaultHttpListenerPort.ToString(), false); 310 NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
311 configMember.addConfigurationOption("allow_alternate_ports", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN,
312 "Allow sim to find alternate UDP ports when ports are in use?",
313 "false", false);
303 configMember.addConfigurationOption("external_host_name", 314 configMember.addConfigurationOption("external_host_name",
304 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 315 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
305 "External Host Name", "127.0.0.1", false); 316 "External Host Name", "127.0.0.1", false);
@@ -357,7 +368,10 @@ namespace OpenSim.Framework
357 m_internalEndPoint = new IPEndPoint(address, 0); 368 m_internalEndPoint = new IPEndPoint(address, 0);
358 break; 369 break;
359 case "internal_ip_port": 370 case "internal_ip_port":
360 m_internalEndPoint.Port = (int) configuration_result; 371 m_internalEndPoint.Port = (int)configuration_result;
372 break;
373 case "allow_alternate_ports":
374 m_allow_alternate_ports = (bool)configuration_result;
361 break; 375 break;
362 case "external_host_name": 376 case "external_host_name":
363 if ((string) configuration_result != "SYSTEMIP") 377 if ((string) configuration_result != "SYSTEMIP")
diff --git a/OpenSim/Framework/SerializableRegionInfo.cs b/OpenSim/Framework/SerializableRegionInfo.cs
index 18a3829..0097fe4 100644
--- a/OpenSim/Framework/SerializableRegionInfo.cs
+++ b/OpenSim/Framework/SerializableRegionInfo.cs
@@ -49,6 +49,7 @@ namespace OpenSim.Framework
49 m_internalEndPoint = ConvertFrom.InternalEndPoint; 49 m_internalEndPoint = ConvertFrom.InternalEndPoint;
50 m_externalHostName = ConvertFrom.ExternalHostName; 50 m_externalHostName = ConvertFrom.ExternalHostName;
51 m_remotingPort = ConvertFrom.RemotingPort; 51 m_remotingPort = ConvertFrom.RemotingPort;
52 m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports;
52 RemotingAddress = ConvertFrom.RemotingAddress; 53 RemotingAddress = ConvertFrom.RemotingAddress;
53 } 54 }
54 55
@@ -80,6 +81,7 @@ namespace OpenSim.Framework
80 get { return m_remotingPort; } 81 get { return m_remotingPort; }
81 set { m_remotingPort = value; } 82 set { m_remotingPort = value; }
82 } 83 }
84 public bool m_allow_alternate_ports;
83 85
84 public string RemotingAddress; 86 public string RemotingAddress;
85 87