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.
parent
76ee671dc6
commit
5a1017241f
|
@ -63,8 +63,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
public List<UUID> folders;
|
public List<UUID> folders;
|
||||||
}
|
}
|
||||||
|
|
||||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Control whether requests will be processed asynchronously.
|
/// Control whether requests will be processed asynchronously.
|
||||||
|
@ -438,7 +437,18 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
aPollRequest poolreq = m_queue.Dequeue();
|
aPollRequest poolreq = m_queue.Dequeue();
|
||||||
|
|
||||||
if (poolreq != null && poolreq.thepoll != null)
|
if (poolreq != null && poolreq.thepoll != null)
|
||||||
poolreq.thepoll.Process(poolreq);
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
poolreq.thepoll.Process(poolreq);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.ErrorFormat(
|
||||||
|
"[INVENTORY]: Failed to process queued inventory request {0} for {1} in {2}. Exception {3}",
|
||||||
|
poolreq.reqID, poolreq.presence != null ? poolreq.presence.Name : "unknown", Scene.Name, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue