Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Newton-King <james@newtonking.com>2022-07-12 07:31:58 +0300
committerJames Newton-King <james@newtonking.com>2022-07-12 07:31:58 +0300
commit7baca381f8d1476f1d88424685eef0ea4bbdc067 (patch)
tree0adb0c1ba0b41db954e666a3ff5c252e5374d611
parent83520bbd52fbeb4ed7140bca906e4eaa3ef82982 (diff)
-rw-r--r--src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs b/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs
index 454b3dc6d9..f486693ba5 100644
--- a/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs
+++ b/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs
@@ -350,6 +350,9 @@ internal partial class QuicStreamContext : TransportConnection, IPooledStream, I
Exception? shutdownReason = null;
Exception? unexpectedError = null;
+ // A client can abort a stream after it has finished sending data. We need a way to get that notification
+ // which is why we listen for a notification that the write-side of the stream is done.
+ // An exception can be thrown from the stream on client abort which will be captured and then wake up the output read.
_ = WaitForWritesCompleted();
try