aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorUbitUmarov2018-01-22 02:42:50 +0000
committerUbitUmarov2018-01-22 02:42:50 +0000
commit437369778d0cafa028cb30b106f043d6f073fe65 (patch)
treebfed6706b6bbb50163ccbedeb3ee1f2e485f39f3 /OpenSim
parentgive BlockingCollection more chances (diff)
downloadopensim-SC-437369778d0cafa028cb30b106f043d6f073fe65.zip
opensim-SC-437369778d0cafa028cb30b106f043d6f073fe65.tar.gz
opensim-SC-437369778d0cafa028cb30b106f043d6f073fe65.tar.bz2
opensim-SC-437369778d0cafa028cb30b106f043d6f073fe65.tar.xz
give BlockingCollection more chances
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs11
-rw-r--r--OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs15
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;
29using System; 29using System;
30using System.Threading; 30using System.Threading;
31using System.Collections.Generic; 31using System.Collections.Generic;
32using System.Collections.Concurrent;
32using System.IO; 33using System.IO;
33using System.Reflection; 34using System.Reflection;
34using System.Timers; 35using 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