From 3fcb713be61c35591b508ec58ac15c32e3759566 Mon Sep 17 00:00:00 2001 From: Jiahao Liang Date: Thu, 26 Sep 2024 22:45:50 +0800 Subject: [PATCH] fix: notify_recv after send_reset() in reset_on_recv_stream_err() to ensure local stream is released properly Similar to what have been done in fn send_reset(), we should notify RecvStream that is parked after send_reset(). --- src/proto/streams/streams.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/proto/streams/streams.rs b/src/proto/streams/streams.rs index 7c00cd51..db6466b6 100644 --- a/src/proto/streams/streams.rs +++ b/src/proto/streams/streams.rs @@ -1549,6 +1549,9 @@ impl Actions { // Reset the stream. self.send .send_reset(reason, initiator, buffer, stream, counts, &mut self.task); + self.recv.enqueue_reset_expiration(stream, counts); + // if a RecvStream is parked, ensure it's notified + stream.notify_recv(); Ok(()) } else { tracing::warn!(