* Try/catch around EndInvoke() when Util.FireAndForget() returns to catch exceptions thrown in the async method

* Added packet stats handling to the new LLUDP implementation
* Attempting to avoid a race condition when creating a new LLUDPClient
This commit is contained in:
John Hurliman
2009-10-06 10:12:59 -07:00
parent 2519f071f2
commit fb19d1ca0a
4 changed files with 115 additions and 79 deletions

View File

@@ -1283,7 +1283,9 @@ namespace OpenSim.Framework
{
System.Threading.WaitCallback callback = (System.Threading.WaitCallback)ar.AsyncState;
callback.EndInvoke(ar);
try { callback.EndInvoke(ar); }
catch (Exception ex) { m_log.Error("[UTIL]: Asynchronous method threw an exception: " + ex.Message, ex); }
ar.AsyncWaitHandle.Close();
}