diff --git a/apps/emqx/src/emqx_quic_stream.erl b/apps/emqx/src/emqx_quic_stream.erl index 09244d67f..f27009888 100644 --- a/apps/emqx/src/emqx_quic_stream.erl +++ b/apps/emqx/src/emqx_quic_stream.erl @@ -149,7 +149,8 @@ fast_close({quic, _Conn, Stream, _Info}) -> ok. shutdown({quic, _Conn, Stream, _Info}, read_write) -> - quicer:async_shutdown_stream(Stream). + %% A graceful shutdown means both side shutdown the read and write gracefully. + quicer:shutdown_stream(Stream, ?QUIC_STREAM_SHUTDOWN_FLAG_GRACEFUL, 1, 5000). -spec ensure_ok_or_exit(atom(), list(term())) -> term(). ensure_ok_or_exit(Fun, Args = [Sock | _]) when is_atom(Fun), is_list(Args) ->