aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/ApplicationPlugins
diff options
context:
space:
mode:
authorMelanie2012-06-06 14:16:19 +0100
committerMelanie2012-06-06 14:16:19 +0100
commitc0b21d92c2219c3bfd69e1467c28f20859dd4dc7 (patch)
treeedb346e1bcde87b1029babc753df9279e4102239 /OpenSim/ApplicationPlugins
parentMerge branch 'master' into careminster (diff)
parentfix the real cause of double velocity (diff)
downloadopensim-SC-c0b21d92c2219c3bfd69e1467c28f20859dd4dc7.zip
opensim-SC-c0b21d92c2219c3bfd69e1467c28f20859dd4dc7.tar.gz
opensim-SC-c0b21d92c2219c3bfd69e1467c28f20859dd4dc7.tar.bz2
opensim-SC-c0b21d92c2219c3bfd69e1467c28f20859dd4dc7.tar.xz
Merge branch 'avination' into careminster
Conflicts: OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
Diffstat (limited to 'OpenSim/ApplicationPlugins')
-rw-r--r--OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs36
1 files changed, 30 insertions, 6 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
index 9e72a98..437d150 100644
--- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
+++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
@@ -258,10 +258,25 @@ namespace OpenSim.ApplicationPlugins.RemoteController
258 { 258 {
259 m_log.Info("[RADMIN]: Request to restart Region."); 259 m_log.Info("[RADMIN]: Request to restart Region.");
260 260
261 CheckRegionParams(requestData, responseData);
262
263 Scene rebootedScene = null; 261 Scene rebootedScene = null;
264 GetSceneFromRegionParams(requestData, responseData, out rebootedScene); 262 bool restartAll = false;
263
264 IConfig startupConfig = m_configSource.Configs["Startup"];
265 if (startupConfig != null)
266 {
267 if (startupConfig.GetBoolean("InworldRestartShutsDown", false))
268 {
269 rebootedScene = m_application.SceneManager.CurrentOrFirstScene;
270 restartAll = true;
271 }
272 }
273
274 if (rebootedScene == null)
275 {
276 CheckRegionParams(requestData, responseData);
277
278 GetSceneFromRegionParams(requestData, responseData, out rebootedScene);
279 }
265 280
266 IRestartModule restartModule = rebootedScene.RequestModuleInterface<IRestartModule>(); 281 IRestartModule restartModule = rebootedScene.RequestModuleInterface<IRestartModule>();
267 282
@@ -324,11 +339,20 @@ namespace OpenSim.ApplicationPlugins.RemoteController
324 notice = false; 339 notice = false;
325 } 340 }
326 341
327 if (restartModule != null) 342 List<Scene> restartList;
343
344 if (restartAll)
345 restartList = m_application.SceneManager.Scenes;
346 else
347 restartList = new List<Scene>() { rebootedScene };
348
349 foreach (Scene s in m_application.SceneManager.Scenes)
328 { 350 {
329 restartModule.ScheduleRestart(UUID.Zero, message, times.ToArray(), notice); 351 restartModule = s.RequestModuleInterface<IRestartModule>();
330 responseData["success"] = true; 352 if (restartModule != null)
353 restartModule.ScheduleRestart(UUID.Zero, message, times.ToArray(), notice);
331 } 354 }
355 responseData["success"] = true;
332 } 356 }
333 catch (Exception e) 357 catch (Exception e)
334 { 358 {