diff options
Merge branch 'ubitwork' of ssh://3dhosting.de/var/git/careminster into ubitwork
7 files changed, 55 insertions, 34 deletions
diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 1999d89..5e4df3a 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs | |||
@@ -1269,32 +1269,40 @@ namespace OpenSim.Data.MySQL | |||
1269 | /// <returns></returns> | 1269 | /// <returns></returns> |
1270 | private static TaskInventoryItem BuildItem(IDataReader row) | 1270 | private static TaskInventoryItem BuildItem(IDataReader row) |
1271 | { | 1271 | { |
1272 | TaskInventoryItem taskItem = new TaskInventoryItem(); | 1272 | try |
1273 | 1273 | { | |
1274 | taskItem.ItemID = DBGuid.FromDB(row["itemID"]); | 1274 | TaskInventoryItem taskItem = new TaskInventoryItem(); |
1275 | taskItem.ParentPartID = DBGuid.FromDB(row["primID"]); | 1275 | |
1276 | taskItem.AssetID = DBGuid.FromDB(row["assetID"]); | 1276 | taskItem.ItemID = DBGuid.FromDB(row["itemID"]); |
1277 | taskItem.ParentID = DBGuid.FromDB(row["parentFolderID"]); | 1277 | taskItem.ParentPartID = DBGuid.FromDB(row["primID"]); |
1278 | 1278 | taskItem.AssetID = DBGuid.FromDB(row["assetID"]); | |
1279 | taskItem.InvType = Convert.ToInt32(row["invType"]); | 1279 | taskItem.ParentID = DBGuid.FromDB(row["parentFolderID"]); |
1280 | taskItem.Type = Convert.ToInt32(row["assetType"]); | 1280 | |
1281 | 1281 | taskItem.InvType = Convert.ToInt32(row["invType"]); | |
1282 | taskItem.Name = (String)row["name"]; | 1282 | taskItem.Type = Convert.ToInt32(row["assetType"]); |
1283 | taskItem.Description = (String)row["description"]; | 1283 | |
1284 | taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]); | 1284 | taskItem.Name = (String)row["name"]; |
1285 | taskItem.CreatorIdentification = (String)row["creatorID"]; | 1285 | taskItem.Description = (String)row["description"]; |
1286 | taskItem.OwnerID = DBGuid.FromDB(row["ownerID"]); | 1286 | taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]); |
1287 | taskItem.LastOwnerID = DBGuid.FromDB(row["lastOwnerID"]); | 1287 | taskItem.CreatorIdentification = (String)row["creatorID"]; |
1288 | taskItem.GroupID = DBGuid.FromDB(row["groupID"]); | 1288 | taskItem.OwnerID = DBGuid.FromDB(row["ownerID"]); |
1289 | 1289 | taskItem.LastOwnerID = DBGuid.FromDB(row["lastOwnerID"]); | |
1290 | taskItem.NextPermissions = Convert.ToUInt32(row["nextPermissions"]); | 1290 | taskItem.GroupID = DBGuid.FromDB(row["groupID"]); |
1291 | taskItem.CurrentPermissions = Convert.ToUInt32(row["currentPermissions"]); | 1291 | |
1292 | taskItem.BasePermissions = Convert.ToUInt32(row["basePermissions"]); | 1292 | taskItem.NextPermissions = Convert.ToUInt32(row["nextPermissions"]); |
1293 | taskItem.EveryonePermissions = Convert.ToUInt32(row["everyonePermissions"]); | 1293 | taskItem.CurrentPermissions = Convert.ToUInt32(row["currentPermissions"]); |
1294 | taskItem.GroupPermissions = Convert.ToUInt32(row["groupPermissions"]); | 1294 | taskItem.BasePermissions = Convert.ToUInt32(row["basePermissions"]); |
1295 | taskItem.Flags = Convert.ToUInt32(row["flags"]); | 1295 | taskItem.EveryonePermissions = Convert.ToUInt32(row["everyonePermissions"]); |
1296 | 1296 | taskItem.GroupPermissions = Convert.ToUInt32(row["groupPermissions"]); | |
1297 | return taskItem; | 1297 | taskItem.Flags = Convert.ToUInt32(row["flags"]); |
1298 | |||
1299 | return taskItem; | ||
1300 | } | ||
1301 | catch | ||
1302 | { | ||
1303 | m_log.ErrorFormat("[MYSQL DB]: Error reading task inventory: itemID was {0}, primID was {1}", row["itemID"].ToString(), row["primID"].ToString()); | ||
1304 | throw; | ||
1305 | } | ||
1298 | } | 1306 | } |
1299 | 1307 | ||
1300 | private static RegionSettings BuildRegionSettings(IDataReader row) | 1308 | private static RegionSettings BuildRegionSettings(IDataReader row) |
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index 0062d4e..c3e1a79 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | |||
@@ -41,6 +41,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
41 | 41 | ||
42 | private readonly BaseHttpServer m_server; | 42 | private readonly BaseHttpServer m_server; |
43 | private static Queue m_requests = Queue.Synchronized(new Queue()); | 43 | private static Queue m_requests = Queue.Synchronized(new Queue()); |
44 | private static ManualResetEvent m_ev = new ManualResetEvent(false); | ||
44 | private uint m_WorkerThreadCount = 0; | 45 | private uint m_WorkerThreadCount = 0; |
45 | private Thread[] m_workerThreads; | 46 | private Thread[] m_workerThreads; |
46 | private PollServiceWorkerThread[] m_PollServiceWorkerThreads; | 47 | private PollServiceWorkerThread[] m_PollServiceWorkerThreads; |
@@ -88,15 +89,17 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
88 | { | 89 | { |
89 | lock (m_requests) | 90 | lock (m_requests) |
90 | m_requests.Enqueue(req); | 91 | m_requests.Enqueue(req); |
92 | m_ev.Set(); | ||
91 | } | 93 | } |
92 | 94 | ||
93 | public void ThreadStart() | 95 | public void ThreadStart() |
94 | { | 96 | { |
95 | while (m_running) | 97 | while (m_running) |
96 | { | 98 | { |
99 | m_ev.WaitOne(1000); | ||
100 | m_ev.Reset(); | ||
97 | Watchdog.UpdateThread(); | 101 | Watchdog.UpdateThread(); |
98 | ProcessQueuedRequests(); | 102 | ProcessQueuedRequests(); |
99 | Thread.Sleep(1000); | ||
100 | } | 103 | } |
101 | } | 104 | } |
102 | 105 | ||
@@ -152,4 +155,4 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
152 | m_running = false; | 155 | m_running = false; |
153 | } | 156 | } |
154 | } | 157 | } |
155 | } \ No newline at end of file | 158 | } |
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceWorkerThread.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceWorkerThread.cs index 5e171f0..b39185f 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceWorkerThread.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceWorkerThread.cs | |||
@@ -89,9 +89,16 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
89 | continue; | 89 | continue; |
90 | } | 90 | } |
91 | 91 | ||
92 | Hashtable responsedata = req.PollServiceArgs.GetEvents(req.RequestID, req.PollServiceArgs.Id, str.ReadToEnd()); | 92 | try |
93 | m_server.DoHTTPGruntWork(responsedata, | 93 | { |
94 | Hashtable responsedata = req.PollServiceArgs.GetEvents(req.RequestID, req.PollServiceArgs.Id, str.ReadToEnd()); | ||
95 | m_server.DoHTTPGruntWork(responsedata, | ||
94 | new OSHttpResponse(new HttpResponse(req.HttpContext, req.Request),req.HttpContext)); | 96 | new OSHttpResponse(new HttpResponse(req.HttpContext, req.Request),req.HttpContext)); |
97 | } | ||
98 | catch (ObjectDisposedException) // Browser aborted before we could read body, server closed the stream | ||
99 | { | ||
100 | // Ignore it, no need to reply | ||
101 | } | ||
95 | } | 102 | } |
96 | else | 103 | else |
97 | { | 104 | { |
diff --git a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs index f4cf6b4..a701b46 100644 --- a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs | |||
@@ -508,7 +508,8 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp | |||
508 | } | 508 | } |
509 | else | 509 | else |
510 | { | 510 | { |
511 | m_log.Warn("[HttpRequestHandler]: http-in request failed; no such url: "+urlkey.ToString()); | 511 | //m_log.Warn("[HttpRequestHandler]: http-in request failed; no such url: "+urlkey.ToString()); |
512 | return; | ||
512 | } | 513 | } |
513 | 514 | ||
514 | //for llGetHttpHeader support we need to store original URI here | 515 | //for llGetHttpHeader support we need to store original URI here |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a068aab..4940063 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3570,7 +3570,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3570 | // m_reprioritizationTimer.Dispose(); | 3570 | // m_reprioritizationTimer.Dispose(); |
3571 | 3571 | ||
3572 | RemoveFromPhysicalScene(); | 3572 | RemoveFromPhysicalScene(); |
3573 | Animator.Close(); | 3573 | if(Animator != null) |
3574 | Animator.Close(); | ||
3574 | Animator = null; | 3575 | Animator = null; |
3575 | } | 3576 | } |
3576 | 3577 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 05adf8e..f475b99 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -12416,9 +12416,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
12416 | 12416 | ||
12417 | ContactResult result = new ContactResult (); | 12417 | ContactResult result = new ContactResult (); |
12418 | result.ConsumerID = group.LocalId; | 12418 | result.ConsumerID = group.LocalId; |
12419 | result.Depth = intersection.distance; | 12419 | // result.Depth = intersection.distance; |
12420 | result.Normal = intersection.normal; | 12420 | result.Normal = intersection.normal; |
12421 | result.Pos = intersection.ipoint; | 12421 | result.Pos = intersection.ipoint; |
12422 | result.Depth = Vector3.Mag(rayStart - result.Pos); | ||
12422 | 12423 | ||
12423 | contacts.Add(result); | 12424 | contacts.Add(result); |
12424 | }); | 12425 | }); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index 278f74e..ad4f70c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | |||
@@ -667,7 +667,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
667 | 667 | ||
668 | public static readonly LSLInteger RCERR_UNKNOWN = -1; | 668 | public static readonly LSLInteger RCERR_UNKNOWN = -1; |
669 | public static readonly LSLInteger RCERR_SIM_PERF_LOW = -2; | 669 | public static readonly LSLInteger RCERR_SIM_PERF_LOW = -2; |
670 | public static readonly LSLInteger RCERR_CAST_TIME_EXCEEDED = 3; | 670 | public static readonly LSLInteger RCERR_CAST_TIME_EXCEEDED = -3; |
671 | 671 | ||
672 | public const int KFM_MODE = 1; | 672 | public const int KFM_MODE = 1; |
673 | public const int KFM_LOOP = 1; | 673 | public const int KFM_LOOP = 1; |