dispatch__(IceInternal.Incoming inc, Current current) { try { DispatchStatus status = dispatch(inc); if (status != DispatchStatus.DispatchAsync) { // // Make sure 'inc' owns the connection etc. // inc.killAsync(); } return(status); } catch (ResponseSentException) { return(DispatchStatus.DispatchAsync); } catch (System.Exception) { try { inc.killAsync(); throw; } catch (ResponseSentException) { return(DispatchStatus.DispatchAsync); } } }