give BlockingCollection more chances
parent
d4a5454f3c
commit
437369778d
|
@ -232,6 +232,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
|||
m_workerThreads = null;
|
||||
}
|
||||
}
|
||||
// m_queue.Dispose();
|
||||
}
|
||||
|
||||
public string Name { get { return "WebFetchInvDescModule"; } }
|
||||
|
|
|
@ -435,7 +435,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
|||
WorkManager.RunInThread(o =>
|
||||
{
|
||||
Thread.Sleep(15000);
|
||||
m_log.Info("[ARCHIVER]: Starting scripts in scene objects");
|
||||
m_log.Info("[ARCHIVER]: Starting scripts in scene objects...");
|
||||
|
||||
foreach (DearchiveContext sceneContext in sceneContexts.Values)
|
||||
{
|
||||
|
@ -447,6 +447,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
|||
|
||||
sceneContext.SceneObjects.Clear();
|
||||
}
|
||||
m_log.Info("[ARCHIVER]: Start scripts done");
|
||||
}, null, string.Format("ReadArchiveStartScripts (request {0})", m_requestId));
|
||||
}
|
||||
|
||||
|
@ -945,10 +946,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
|||
if (m_assetService.GetMetadata(uuid) != null)
|
||||
{
|
||||
sbyte asype = ArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension];
|
||||
if(asype == -2)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// m_log.DebugFormat("[ARCHIVER]: found existing asset {0}",uuid);
|
||||
return true;
|
||||
|
@ -958,10 +955,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
|||
{
|
||||
sbyte assetType = ArchiveConstants.EXTENSION_TO_ASSET_TYPE[extension];
|
||||
|
||||
if(assetType == -2)
|
||||
{
|
||||
|
||||
}
|
||||
if (assetType == (sbyte)AssetType.Unknown)
|
||||
{
|
||||
m_log.WarnFormat("[ARCHIVER]: Importing {0} byte asset {1} with unknown type", data.Length, uuid);
|
||||
|
|
|
@ -29,6 +29,7 @@ using log4net;
|
|||
using System;
|
||||
using System.Threading;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Concurrent;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Timers;
|
||||
|
@ -352,8 +353,7 @@ namespace OpenSim.Services.Connectors
|
|||
public string id;
|
||||
}
|
||||
|
||||
private OpenSim.Framework.BlockingQueue<QueuedAssetRequest> m_requestQueue =
|
||||
new OpenSim.Framework.BlockingQueue<QueuedAssetRequest>();
|
||||
private BlockingCollection<QueuedAssetRequest> m_requestQueue = new BlockingCollection<QueuedAssetRequest>();
|
||||
|
||||
private void AssetRequestProcessor()
|
||||
{
|
||||
|
@ -361,10 +361,13 @@ namespace OpenSim.Services.Connectors
|
|||
|
||||
while (true)
|
||||
{
|
||||
r = m_requestQueue.Dequeue(4500);
|
||||
Watchdog.UpdateThread();
|
||||
if(r== null)
|
||||
if(!m_requestQueue.TryTake(out r, 4500) || r == null)
|
||||
{
|
||||
Watchdog.UpdateThread();
|
||||
continue;
|
||||
}
|
||||
|
||||
Watchdog.UpdateThread();
|
||||
string uri = r.uri;
|
||||
string id = r.id;
|
||||
|
||||
|
@ -432,7 +435,7 @@ namespace OpenSim.Services.Connectors
|
|||
QueuedAssetRequest request = new QueuedAssetRequest();
|
||||
request.id = id;
|
||||
request.uri = uri;
|
||||
m_requestQueue.Enqueue(request);
|
||||
m_requestQueue.Add(request);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue