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
Dr Scofield 2009-05-18 10:04:28 +00:00
parent 2ad8710e19
commit e3f2cfa1ca
3 changed files with 21 additions and 3 deletions

View File

@ -33,6 +33,7 @@ using System.Xml;
using System.Net;
using System.Reflection;
using System.Timers;
using System.Threading;
using log4net;
using Nini.Config;
using Nwc.XmlRpc;
@ -57,6 +58,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
private static bool daload = false;
private static Object rslock = new Object();
private static Object SOLock = new Object();
private OpenSimBase m_app;
private BaseHttpServer m_httpd;
@ -367,7 +369,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
});
// 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.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed);
shutdownTimer.Start();
@ -1843,14 +1845,23 @@ namespace OpenSim.ApplicationPlugins.RemoteController
else throw new Exception("neither region_name nor region_uuid given");
IRegionArchiverModule archiver = scene.RequestModuleInterface<IRegionArchiverModule>();
if (archiver != null)
{
scene.EventManager.OnOarFileSaved += RemoteAdminOarSaveCompleted;
archiver.ArchiveRegion(filename);
lock(SOLock) Monitor.Wait(SOLock,5000);
scene.EventManager.OnOarFileSaved -= RemoteAdminOarSaveCompleted;
}
else
throw new Exception("Archiver module not present for scene");
responseData["saved"] = true;
response.Value = responseData;
}
catch (Exception e)
{
@ -1867,6 +1878,12 @@ namespace OpenSim.ApplicationPlugins.RemoteController
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)
{
m_log.Info("[RADMIN]: Received Load XML Administrator Request");

View File

@ -460,6 +460,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
// request.Credentials = credentials;
request.ContentLength = 0;
request.KeepAlive = false;
WebResponse response = request.GetResponse();
Stream file = response.GetResponseStream();

View File

@ -37,7 +37,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
{
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>
/// Contains the script to execute functions in.
@ -173,7 +173,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
}
catch
{
m_log.Error("Event "+EventName+" not found.");
// m_log.Error("Event "+EventName+" not found.");
// Event name not found, cache it as not found
Events.Add(EventName, null);
}