diff --git a/src/libraries/System.Net.Quic/src/System/Net/Quic/Implementations/MsQuic/MsQuicConnection.cs b/src/libraries/System.Net.Quic/src/System/Net/Quic/Implementations/MsQuic/MsQuicConnection.cs index 60abf523ef0a2..66e594c34fca5 100644 --- a/src/libraries/System.Net.Quic/src/System/Net/Quic/Implementations/MsQuic/MsQuicConnection.cs +++ b/src/libraries/System.Net.Quic/src/System/Net/Quic/Implementations/MsQuic/MsQuicConnection.cs @@ -283,6 +283,11 @@ private static uint HandleEventShutdownInitiatedByTransport(State state, ref Con state.ConnectTcs = null; } + // To throw QuicConnectionAbortedException (instead of QuicOperationAbortedException) out of AcceptStreamAsync() since + // it wasn't our side who shutdown the connection. + // We should rather keep the Status and propagate it either in a different exception or as a different field of QuicConnectionAbortedException. + // See: https://github.com/dotnet/runtime/issues/60133 + state.AbortErrorCode = 0; state.AcceptQueue.Writer.TryComplete(); return MsQuicStatusCodes.Success; }