summaryrefslogtreecommitdiffstats
path: root/ssl/quic/quic_impl.c
diff options
context:
space:
mode:
Diffstat (limited to 'ssl/quic/quic_impl.c')
-rw-r--r--ssl/quic/quic_impl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c
index 51e419385b..f9289b5118 100644
--- a/ssl/quic/quic_impl.c
+++ b/ssl/quic/quic_impl.c
@@ -2050,9 +2050,12 @@ static int qc_wait_for_default_xso_for_read(QCTX *ctx, int peek)
if (peek)
return 0;
- if (!qctx_blocking(ctx))
+ if (ossl_quic_channel_is_term_any(qc->ch)) {
+ return QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_PROTOCOL_IS_SHUTDOWN, NULL);
+ } else if (!qctx_blocking(ctx)) {
/* Non-blocking mode, so just bail immediately. */
return QUIC_RAISE_NORMAL_ERROR(ctx, SSL_ERROR_WANT_READ);
+ }
/* Block until we have a stream. */
wargs.qc = qc;