diff options
author | UbitUmarov | 2018-01-22 02:42:50 +0000 |
---|---|---|
committer | UbitUmarov | 2018-01-22 02:42:50 +0000 |
commit | 437369778d0cafa028cb30b106f043d6f073fe65 (patch) | |
tree | bfed6706b6bbb50163ccbedeb3ee1f2e485f39f3 | |
parent | give BlockingCollection more chances (diff) | |
download | opensim-SC-437369778d0cafa028cb30b106f043d6f073fe65.zip opensim-SC-437369778d0cafa028cb30b106f043d6f073fe65.tar.gz opensim-SC-437369778d0cafa028cb30b106f043d6f073fe65.tar.bz2 opensim-SC-437369778d0cafa028cb30b106f043d6f073fe65.tar.xz |
give BlockingCollection more chances
3 files changed, 12 insertions, 15 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs index c02bcb0..f6d49ee 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs | |||
@@ -232,6 +232,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
232 | m_workerThreads = null; | 232 | m_workerThreads = null; |
233 | } | 233 | } |
234 | } | 234 | } |
235 | // m_queue.Dispose(); | ||
235 | } | 236 | } |
236 | 237 | ||
237 | public string Name { get { return "WebFetchInvDescModule"; } } | 238 | public string Name { get { return "WebFetchInvDescModule"; } } |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index 99ff9b5..e5c9841 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -435,7 +435,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
435 | WorkManager.RunInThread(o => | 435 | WorkManager.RunInThread(o => |
436 | { | 436 | { |
437 | Thread.Sleep(15000); | 437 | Thread.Sleep(15000); |
438 | m_log.Info("[ARCHIVER]: Starting scripts in scene objects"); | 438 | m_log.Info("[ARCHIVER]: Starting scripts in scene objects..."); |
439 | 439 | ||
440 | foreach (DearchiveContext sceneContext in sceneContexts.Values) | 440 | foreach (DearchiveContext sceneContext in sceneContexts.Values) |
441 | { | 441 | { |
@@ -447,6 +447,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
447 | 447 | ||
448 | sceneContext.SceneObjects.Clear(); | 448 | sceneContext.SceneObjects.Clear(); |
449 | } | 449 | } |
450 | m_log.Info("[ARCHIVER]: Start scripts done"); | ||
450 | }, null, string.Format("ReadArchiveStartScripts (request {0})", m_requestId)); | 451 | }, null, string.Format("ReadArchiveStartScripts (request {0})", m_requestId)); |
451 | } | 452 | } |
452 | 453 | ||
@@ -945,10 +946,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
945 | if (m_assetService.GetMetadata(uuid) != null) | 946 | if (m_assetService.GetMetadata(uuid) != null) |
946 | { | 947 | { |
947 | sbyte asype = ArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension]; | 948 | sbyte asype = ArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension]; |
948 | if(asype == -2) | ||
949 | { | ||
950 | |||
951 | } | ||
952 | 949 | ||
953 | // m_log.DebugFormat("[ARCHIVER]: found existing asset {0}",uuid); | 950 | // m_log.DebugFormat("[ARCHIVER]: found existing asset {0}",uuid); |
954 | return true; | 951 | return true; |
@@ -958,10 +955,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
958 | { | 955 | { |
959 | sbyte assetType = ArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension]; | 956 | sbyte assetType = ArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension]; |
960 | 957 | ||
961 | if(assetType == -2) | ||
962 | { | ||
963 | |||
964 | } | ||
965 | if (assetType == (sbyte)AssetType.Unknown) | 958 | if (assetType == (sbyte)AssetType.Unknown) |
966 | { | 959 | { |
967 | m_log.WarnFormat("[ARCHIVER]: Importing {0} byte asset {1} with unknown type", data.Length, uuid); | 960 | m_log.WarnFormat("[ARCHIVER]: Importing {0} byte asset {1} with unknown type", data.Length, uuid); |
diff --git a/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs b/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs index 7e81be7..205426e 100644 --- a/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs +++ b/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs | |||
@@ -29,6 +29,7 @@ using log4net; | |||
29 | using System; | 29 | using System; |
30 | using System.Threading; | 30 | using System.Threading; |
31 | using System.Collections.Generic; | 31 | using System.Collections.Generic; |
32 | using System.Collections.Concurrent; | ||
32 | using System.IO; | 33 | using System.IO; |
33 | using System.Reflection; | 34 | using System.Reflection; |
34 | using System.Timers; | 35 | using System.Timers; |
@@ -352,8 +353,7 @@ namespace OpenSim.Services.Connectors | |||
352 | public string id; | 353 | public string id; |
353 | } | 354 | } |
354 | 355 | ||
355 | private OpenSim.Framework.BlockingQueue<QueuedAssetRequest> m_requestQueue = | 356 | private BlockingCollection<QueuedAssetRequest> m_requestQueue = new BlockingCollection<QueuedAssetRequest>(); |
356 | new OpenSim.Framework.BlockingQueue<QueuedAssetRequest>(); | ||
357 | 357 | ||
358 | private void AssetRequestProcessor() | 358 | private void AssetRequestProcessor() |
359 | { | 359 | { |
@@ -361,10 +361,13 @@ namespace OpenSim.Services.Connectors | |||
361 | 361 | ||
362 | while (true) | 362 | while (true) |
363 | { | 363 | { |
364 | r = m_requestQueue.Dequeue(4500); | 364 | if(!m_requestQueue.TryTake(out r, 4500) || r == null) |
365 | Watchdog.UpdateThread(); | 365 | { |
366 | if(r== null) | 366 | Watchdog.UpdateThread(); |
367 | continue; | 367 | continue; |
368 | } | ||
369 | |||
370 | Watchdog.UpdateThread(); | ||
368 | string uri = r.uri; | 371 | string uri = r.uri; |
369 | string id = r.id; | 372 | string id = r.id; |
370 | 373 | ||
@@ -432,7 +435,7 @@ namespace OpenSim.Services.Connectors | |||
432 | QueuedAssetRequest request = new QueuedAssetRequest(); | 435 | QueuedAssetRequest request = new QueuedAssetRequest(); |
433 | request.id = id; | 436 | request.id = id; |
434 | request.uri = uri; | 437 | request.uri = uri; |
435 | m_requestQueue.Enqueue(request); | 438 | m_requestQueue.Add(request); |
436 | } | 439 | } |
437 | } | 440 | } |
438 | else | 441 | else |