aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-06-16 22:11:34 +0100
committerJustin Clark-Casey (justincc)2014-06-16 22:11:34 +0100
commit4374ce9fbf2d693dec38826d0238669308ac060f (patch)
tree3c2e63f2b82da9ef2f1fcdbbb5e61af8b76b095e /OpenSim/Region
parentIn materials module, if a texture entry somehow has no default entry then don... (diff)
downloadopensim-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.cs16
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}