private static async void ExecuteCallback(UvTcpListener listener, UvTcpConnection connection) { try { await listener._callback?.Invoke(connection); } catch { // Swallow exceptions } finally { // Dispose the connection on task completion connection.Dispose(); } }
private static async void ExecuteCallback(UvTcpListener listener, UvTcpConnection connection) { try { await listener._callback?.Invoke(connection); // Make sure we dispose off the libuv thread await Task.Yield(); } catch { // Swallow exceptions } finally { // Dispose the connection on task completion connection.Dispose(); } }