diff options
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 25 | ||||
-rwxr-xr-x | bin/Mono.Posix.dll | bin | 0 -> 207872 bytes | |||
-rw-r--r-- | prebuild.xml | 1 |
3 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index cf2bf33..203fe5e 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Threading; | ||
29 | using System.Collections; | 30 | using System.Collections; |
30 | using System.Collections.Generic; | 31 | using System.Collections.Generic; |
31 | using System.Diagnostics; | 32 | using System.Diagnostics; |
@@ -74,7 +75,7 @@ namespace OpenSim | |||
74 | 75 | ||
75 | private string m_timedScript = "disabled"; | 76 | private string m_timedScript = "disabled"; |
76 | private int m_timeInterval = 1200; | 77 | private int m_timeInterval = 1200; |
77 | private Timer m_scriptTimer; | 78 | private System.Timers.Timer m_scriptTimer; |
78 | 79 | ||
79 | public OpenSim(IConfigSource configSource) : base(configSource) | 80 | public OpenSim(IConfigSource configSource) : base(configSource) |
80 | { | 81 | { |
@@ -125,6 +126,25 @@ namespace OpenSim | |||
125 | m_log.Info("[OPENSIM MAIN]: Using async_call_method " + Util.FireAndForgetMethod); | 126 | m_log.Info("[OPENSIM MAIN]: Using async_call_method " + Util.FireAndForgetMethod); |
126 | } | 127 | } |
127 | 128 | ||
129 | private static Mono.Unix.UnixSignal[] signals = new Mono.Unix.UnixSignal[] | ||
130 | { | ||
131 | // new Mono.Unix.UnixSignal(Mono.Unix.Native.Signum.SIGINT), | ||
132 | new Mono.Unix.UnixSignal(Mono.Unix.Native.Signum.SIGTERM) | ||
133 | }; | ||
134 | |||
135 | private Thread signal_thread = new Thread (delegate () | ||
136 | { | ||
137 | System.Console.WriteLine("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"); | ||
138 | while (true) | ||
139 | { | ||
140 | // Wait for a signal to be delivered | ||
141 | int index = Mono.Unix.UnixSignal.WaitAny (signals, -1); | ||
142 | |||
143 | //Mono.Unix.Native.Signum signal = signals [index].Signum; | ||
144 | MainConsole.Instance.RunCommand("shutdown"); | ||
145 | } | ||
146 | }); | ||
147 | |||
128 | /// <summary> | 148 | /// <summary> |
129 | /// Performs initialisation of the scene, such as loading configuration from disk. | 149 | /// Performs initialisation of the scene, such as loading configuration from disk. |
130 | /// </summary> | 150 | /// </summary> |
@@ -134,6 +154,7 @@ namespace OpenSim | |||
134 | m_log.Info("========================= STARTING OPENSIM ========================="); | 154 | m_log.Info("========================= STARTING OPENSIM ========================="); |
135 | m_log.Info("===================================================================="); | 155 | m_log.Info("===================================================================="); |
136 | 156 | ||
157 | signal_thread.Start(); | ||
137 | //m_log.InfoFormat("[OPENSIM MAIN]: GC Is Server GC: {0}", GCSettings.IsServerGC.ToString()); | 158 | //m_log.InfoFormat("[OPENSIM MAIN]: GC Is Server GC: {0}", GCSettings.IsServerGC.ToString()); |
138 | // http://msdn.microsoft.com/en-us/library/bb384202.aspx | 159 | // http://msdn.microsoft.com/en-us/library/bb384202.aspx |
139 | //GCSettings.LatencyMode = GCLatencyMode.Batch; | 160 | //GCSettings.LatencyMode = GCLatencyMode.Batch; |
@@ -217,7 +238,7 @@ namespace OpenSim | |||
217 | // Start timer script (run a script every xx seconds) | 238 | // Start timer script (run a script every xx seconds) |
218 | if (m_timedScript != "disabled") | 239 | if (m_timedScript != "disabled") |
219 | { | 240 | { |
220 | m_scriptTimer = new Timer(); | 241 | m_scriptTimer = new System.Timers.Timer(); |
221 | m_scriptTimer.Enabled = true; | 242 | m_scriptTimer.Enabled = true; |
222 | m_scriptTimer.Interval = m_timeInterval*1000; | 243 | m_scriptTimer.Interval = m_timeInterval*1000; |
223 | m_scriptTimer.Elapsed += RunAutoTimerScript; | 244 | m_scriptTimer.Elapsed += RunAutoTimerScript; |
diff --git a/bin/Mono.Posix.dll b/bin/Mono.Posix.dll new file mode 100755 index 0000000..97ec8bf --- /dev/null +++ b/bin/Mono.Posix.dll | |||
Binary files differ | |||
diff --git a/prebuild.xml b/prebuild.xml index 2bb053e..cb39e18 100644 --- a/prebuild.xml +++ b/prebuild.xml | |||
@@ -1790,6 +1790,7 @@ | |||
1790 | <Reference name="System.Core"/> | 1790 | <Reference name="System.Core"/> |
1791 | <Reference name="System.Xml"/> | 1791 | <Reference name="System.Xml"/> |
1792 | <Reference name="Mono.Addins" path="../../../bin/"/> | 1792 | <Reference name="Mono.Addins" path="../../../bin/"/> |
1793 | <Reference name="Mono.Posix" path="../../../bin/"/> | ||
1793 | <Reference name="NDesk.Options" path="../../../bin/"/> | 1794 | <Reference name="NDesk.Options" path="../../../bin/"/> |
1794 | <Reference name="OpenMetaverseTypes" path="../../../bin/"/> | 1795 | <Reference name="OpenMetaverseTypes" path="../../../bin/"/> |
1795 | <Reference name="OpenMetaverse.StructuredData" path="../../../bin/"/> | 1796 | <Reference name="OpenMetaverse.StructuredData" path="../../../bin/"/> |