Merge branch 'avination' into ubitwork

avinationmerge
UbitUmarov 2012-06-28 10:57:47 +01:00
commit de10a16546
6 changed files with 49 additions and 29 deletions

View File

@ -1268,6 +1268,8 @@ namespace OpenSim.Data.MySQL
/// <param name="row"></param> /// <param name="row"></param>
/// <returns></returns> /// <returns></returns>
private static TaskInventoryItem BuildItem(IDataReader row) private static TaskInventoryItem BuildItem(IDataReader row)
{
try
{ {
TaskInventoryItem taskItem = new TaskInventoryItem(); TaskInventoryItem taskItem = new TaskInventoryItem();
@ -1296,6 +1298,12 @@ namespace OpenSim.Data.MySQL
return taskItem; return taskItem;
} }
catch
{
m_log.ErrorFormat("[MYSQL DB]: Error reading task inventory: itemID was {0}, primID was {1}", row["itemID"].ToString(), row["primID"].ToString());
throw;
}
}
private static RegionSettings BuildRegionSettings(IDataReader row) private static RegionSettings BuildRegionSettings(IDataReader row)
{ {

View File

@ -41,6 +41,7 @@ namespace OpenSim.Framework.Servers.HttpServer
private readonly BaseHttpServer m_server; private readonly BaseHttpServer m_server;
private static Queue m_requests = Queue.Synchronized(new Queue()); private static Queue m_requests = Queue.Synchronized(new Queue());
private static ManualResetEvent m_ev = new ManualResetEvent(false);
private uint m_WorkerThreadCount = 0; private uint m_WorkerThreadCount = 0;
private Thread[] m_workerThreads; private Thread[] m_workerThreads;
private PollServiceWorkerThread[] m_PollServiceWorkerThreads; private PollServiceWorkerThread[] m_PollServiceWorkerThreads;
@ -88,15 +89,17 @@ namespace OpenSim.Framework.Servers.HttpServer
{ {
lock (m_requests) lock (m_requests)
m_requests.Enqueue(req); m_requests.Enqueue(req);
m_ev.Set();
} }
public void ThreadStart() public void ThreadStart()
{ {
while (m_running) while (m_running)
{ {
m_ev.WaitOne(1000);
m_ev.Reset();
Watchdog.UpdateThread(); Watchdog.UpdateThread();
ProcessQueuedRequests(); ProcessQueuedRequests();
Thread.Sleep(1000);
} }
} }

View File

@ -89,10 +89,17 @@ namespace OpenSim.Framework.Servers.HttpServer
continue; continue;
} }
try
{
Hashtable responsedata = req.PollServiceArgs.GetEvents(req.RequestID, req.PollServiceArgs.Id, str.ReadToEnd()); Hashtable responsedata = req.PollServiceArgs.GetEvents(req.RequestID, req.PollServiceArgs.Id, str.ReadToEnd());
m_server.DoHTTPGruntWork(responsedata, m_server.DoHTTPGruntWork(responsedata,
new OSHttpResponse(new HttpResponse(req.HttpContext, req.Request),req.HttpContext)); new OSHttpResponse(new HttpResponse(req.HttpContext, req.Request),req.HttpContext));
} }
catch (ObjectDisposedException) // Browser aborted before we could read body, server closed the stream
{
// Ignore it, no need to reply
}
}
else else
{ {
if ((Environment.TickCount - req.RequestTime) > m_timeout) if ((Environment.TickCount - req.RequestTime) > m_timeout)

View File

@ -508,7 +508,8 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
} }
else else
{ {
m_log.Warn("[HttpRequestHandler]: http-in request failed; no such url: "+urlkey.ToString()); //m_log.Warn("[HttpRequestHandler]: http-in request failed; no such url: "+urlkey.ToString());
return;
} }
//for llGetHttpHeader support we need to store original URI here //for llGetHttpHeader support we need to store original URI here

View File

@ -12416,9 +12416,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
ContactResult result = new ContactResult (); ContactResult result = new ContactResult ();
result.ConsumerID = group.LocalId; result.ConsumerID = group.LocalId;
result.Depth = intersection.distance; // result.Depth = intersection.distance;
result.Normal = intersection.normal; result.Normal = intersection.normal;
result.Pos = intersection.ipoint; result.Pos = intersection.ipoint;
result.Depth = Vector3.Mag(rayStart - result.Pos);
contacts.Add(result); contacts.Add(result);
}); });
@ -12613,7 +12614,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
bool checkPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_PHYSICAL) == ScriptBaseClass.RC_REJECT_PHYSICAL); bool checkPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_PHYSICAL) == ScriptBaseClass.RC_REJECT_PHYSICAL);
if (World.SuportsRayCastFiltered()) if (false)// World.SuportsRayCastFiltered())
{ {
if (dist == 0) if (dist == 0)
return list; return list;

View File

@ -667,7 +667,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
public static readonly LSLInteger RCERR_UNKNOWN = -1; public static readonly LSLInteger RCERR_UNKNOWN = -1;
public static readonly LSLInteger RCERR_SIM_PERF_LOW = -2; public static readonly LSLInteger RCERR_SIM_PERF_LOW = -2;
public static readonly LSLInteger RCERR_CAST_TIME_EXCEEDED = 3; public static readonly LSLInteger RCERR_CAST_TIME_EXCEEDED = -3;
public const int KFM_MODE = 1; public const int KFM_MODE = 1;
public const int KFM_LOOP = 1; public const int KFM_LOOP = 1;