From: Alan Webb <alan_webb@us.ibm.com>
Fixes: [1] Sharing exception on remote OAR management [2] Occasional 505 error talking to Tomcat [3] Occasional mono aborts caused by mlog in the script engine's app domain (mono 2.4)0.6.6-post-fixes
parent
2ad8710e19
commit
e3f2cfa1ca
|
@ -33,6 +33,7 @@ using System.Xml;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
|
using System.Threading;
|
||||||
using log4net;
|
using log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using Nwc.XmlRpc;
|
using Nwc.XmlRpc;
|
||||||
|
@ -57,6 +58,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
|
|
||||||
private static bool daload = false;
|
private static bool daload = false;
|
||||||
private static Object rslock = new Object();
|
private static Object rslock = new Object();
|
||||||
|
private static Object SOLock = new Object();
|
||||||
|
|
||||||
private OpenSimBase m_app;
|
private OpenSimBase m_app;
|
||||||
private BaseHttpServer m_httpd;
|
private BaseHttpServer m_httpd;
|
||||||
|
@ -367,7 +369,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
});
|
});
|
||||||
|
|
||||||
// Perform shutdown
|
// Perform shutdown
|
||||||
Timer shutdownTimer = new Timer(timeout); // Wait before firing
|
System.Timers.Timer shutdownTimer = new System.Timers.Timer(timeout); // Wait before firing
|
||||||
shutdownTimer.AutoReset = false;
|
shutdownTimer.AutoReset = false;
|
||||||
shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed);
|
shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed);
|
||||||
shutdownTimer.Start();
|
shutdownTimer.Start();
|
||||||
|
@ -1843,14 +1845,23 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
else throw new Exception("neither region_name nor region_uuid given");
|
else throw new Exception("neither region_name nor region_uuid given");
|
||||||
|
|
||||||
IRegionArchiverModule archiver = scene.RequestModuleInterface<IRegionArchiverModule>();
|
IRegionArchiverModule archiver = scene.RequestModuleInterface<IRegionArchiverModule>();
|
||||||
|
|
||||||
|
|
||||||
if (archiver != null)
|
if (archiver != null)
|
||||||
|
{
|
||||||
|
scene.EventManager.OnOarFileSaved += RemoteAdminOarSaveCompleted;
|
||||||
archiver.ArchiveRegion(filename);
|
archiver.ArchiveRegion(filename);
|
||||||
|
lock(SOLock) Monitor.Wait(SOLock,5000);
|
||||||
|
scene.EventManager.OnOarFileSaved -= RemoteAdminOarSaveCompleted;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
throw new Exception("Archiver module not present for scene");
|
throw new Exception("Archiver module not present for scene");
|
||||||
|
|
||||||
|
|
||||||
responseData["saved"] = true;
|
responseData["saved"] = true;
|
||||||
|
|
||||||
response.Value = responseData;
|
response.Value = responseData;
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -1867,6 +1878,12 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void RemoteAdminOarSaveCompleted(Guid uuid, string name)
|
||||||
|
{
|
||||||
|
m_log.DebugFormat("[RADMIN] File processing complete for {0}", name);
|
||||||
|
lock(SOLock) Monitor.Pulse(SOLock);
|
||||||
|
}
|
||||||
|
|
||||||
public XmlRpcResponse XmlRpcLoadXMLMethod(XmlRpcRequest request)
|
public XmlRpcResponse XmlRpcLoadXMLMethod(XmlRpcRequest request)
|
||||||
{
|
{
|
||||||
m_log.Info("[RADMIN]: Received Load XML Administrator Request");
|
m_log.Info("[RADMIN]: Received Load XML Administrator Request");
|
||||||
|
|
|
@ -460,6 +460,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
// request.Credentials = credentials;
|
// request.Credentials = credentials;
|
||||||
|
|
||||||
request.ContentLength = 0;
|
request.ContentLength = 0;
|
||||||
|
request.KeepAlive = false;
|
||||||
|
|
||||||
WebResponse response = request.GetResponse();
|
WebResponse response = request.GetResponse();
|
||||||
Stream file = response.GetResponseStream();
|
Stream file = response.GetResponseStream();
|
||||||
|
|
|
@ -37,7 +37,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
{
|
{
|
||||||
public class Executor : MarshalByRefObject
|
public class Executor : MarshalByRefObject
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contains the script to execute functions in.
|
/// Contains the script to execute functions in.
|
||||||
|
@ -173,7 +173,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
m_log.Error("Event "+EventName+" not found.");
|
// m_log.Error("Event "+EventName+" not found.");
|
||||||
// Event name not found, cache it as not found
|
// Event name not found, cache it as not found
|
||||||
Events.Add(EventName, null);
|
Events.Add(EventName, null);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue