diff options
author | Justin Clark-Casey (justincc) | 2014-06-16 22:11:34 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-06-16 22:11:34 +0100 |
commit | 4374ce9fbf2d693dec38826d0238669308ac060f (patch) | |
tree | 3c2e63f2b82da9ef2f1fcdbbb5e61af8b76b095e /OpenSim/Region | |
parent | In materials module, if a texture entry somehow has no default entry then don... (diff) | |
download | opensim-SC-4374ce9fbf2d693dec38826d0238669308ac060f.zip opensim-SC-4374ce9fbf2d693dec38826d0238669308ac060f.tar.gz opensim-SC-4374ce9fbf2d693dec38826d0238669308ac060f.tar.bz2 opensim-SC-4374ce9fbf2d693dec38826d0238669308ac060f.tar.xz |
If processing a queued request fails up to the top of the stack, log the exception and move to the next request rather than terminate the simulator.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs index d9812c9..87192a0 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs | |||
@@ -63,8 +63,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
63 | public List<UUID> folders; | 63 | public List<UUID> folders; |
64 | } | 64 | } |
65 | 65 | ||
66 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 66 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
67 | |||
68 | 67 | ||
69 | /// <summary> | 68 | /// <summary> |
70 | /// Control whether requests will be processed asynchronously. | 69 | /// Control whether requests will be processed asynchronously. |
@@ -438,7 +437,18 @@ namespace OpenSim.Region.ClientStack.Linden | |||
438 | aPollRequest poolreq = m_queue.Dequeue(); | 437 | aPollRequest poolreq = m_queue.Dequeue(); |
439 | 438 | ||
440 | if (poolreq != null && poolreq.thepoll != null) | 439 | if (poolreq != null && poolreq.thepoll != null) |
441 | poolreq.thepoll.Process(poolreq); | 440 | { |
441 | try | ||
442 | { | ||
443 | poolreq.thepoll.Process(poolreq); | ||
444 | } | ||
445 | catch (Exception e) | ||
446 | { | ||
447 | m_log.ErrorFormat( | ||
448 | "[INVENTORY]: Failed to process queued inventory request {0} for {1} in {2}. Exception {3}", | ||
449 | poolreq.reqID, poolreq.presence != null ? poolreq.presence.Name : "unknown", Scene.Name, e); | ||
450 | } | ||
451 | } | ||
442 | } | 452 | } |
443 | } | 453 | } |
444 | } | 454 | } |