diff options
Diffstat (limited to 'OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs')
-rw-r--r-- | OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs b/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs index 8b702e0..2c1d946 100644 --- a/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs +++ b/OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs | |||
@@ -66,6 +66,12 @@ namespace OpenSim.Services.Connectors | |||
66 | 66 | ||
67 | private Thread[] m_fetchThreads; | 67 | private Thread[] m_fetchThreads; |
68 | 68 | ||
69 | public int MaxAssetRequestConcurrency | ||
70 | { | ||
71 | get { return m_maxAssetRequestConcurrency; } | ||
72 | set { m_maxAssetRequestConcurrency = value; } | ||
73 | } | ||
74 | |||
69 | public AssetServicesConnector() | 75 | public AssetServicesConnector() |
70 | { | 76 | { |
71 | } | 77 | } |
@@ -278,9 +284,11 @@ namespace OpenSim.Services.Connectors | |||
278 | byte[] ret = new byte[s.Length]; | 284 | byte[] ret = new byte[s.Length]; |
279 | s.Read(ret, 0, (int)s.Length); | 285 | s.Read(ret, 0, (int)s.Length); |
280 | 286 | ||
287 | s.Close(); | ||
281 | return ret; | 288 | return ret; |
282 | } | 289 | } |
283 | 290 | ||
291 | s.Close(); | ||
284 | return null; | 292 | return null; |
285 | } | 293 | } |
286 | 294 | ||
@@ -319,15 +327,25 @@ namespace OpenSim.Services.Connectors | |||
319 | handlers = m_AssetHandlers[id]; | 327 | handlers = m_AssetHandlers[id]; |
320 | m_AssetHandlers.Remove(id); | 328 | m_AssetHandlers.Remove(id); |
321 | } | 329 | } |
322 | foreach (AssetRetrievedEx h in handlers) | 330 | |
323 | { | 331 | Util.FireAndForget(x => |
324 | Util.FireAndForget(x => | ||
325 | { | 332 | { |
326 | h.Invoke(a); | 333 | foreach (AssetRetrievedEx h in handlers) |
334 | { | ||
335 | // Util.FireAndForget(x => | ||
336 | // { | ||
337 | try { h.Invoke(a); } | ||
338 | catch { } | ||
339 | // }); | ||
340 | } | ||
341 | |||
342 | if (handlers != null) | ||
343 | handlers.Clear(); | ||
344 | |||
327 | }); | 345 | }); |
328 | } | 346 | |
329 | if (handlers != null) | 347 | // if (handlers != null) |
330 | handlers.Clear(); | 348 | // handlers.Clear(); |
331 | 349 | ||
332 | success = true; | 350 | success = true; |
333 | } | 351 | } |