log exceptions that end up at the top of a asynchronous viewer packet method call rather than swallowing them

slimupdates
Justin Clark-Casey (justincc) 2010-04-05 19:46:43 +01:00
parent 9ecad50419
commit 1be19c7f42
1 changed files with 13 additions and 3 deletions

View File

@ -669,8 +669,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public void ProcessSpecificPacketAsync(object state) public void ProcessSpecificPacketAsync(object state)
{ {
AsyncPacketProcess packetObject = (AsyncPacketProcess)state; AsyncPacketProcess packetObject = (AsyncPacketProcess)state;
try
{
packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack); packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack);
} }
catch (Exception e)
{
// Make sure that we see any exception caused by the asynchronous operation.
m_log.Error(
string.Format("[LLCLIENTVIEW]: Caught exception while processing {0}", packetObject.Pack), e);
}
}
#endregion Packet Handling #endregion Packet Handling