diff --git a/actix-http/CHANGES.md b/actix-http/CHANGES.md index 7324cba5..936e157e 100644 --- a/actix-http/CHANGES.md +++ b/actix-http/CHANGES.md @@ -132,8 +132,10 @@ ### Fixed - Avoid possibility of dispatcher getting stuck while back-pressuring I/O. [#2369] +- Fix pending stream drop [#2830] [#2369]: https://github.com/actix/actix-web/pull/2369 +[#2830]: https://github.com/actix/actix-web/pull/2830 ## 3.2.1 diff --git a/actix-http/src/h1/dispatcher.rs b/actix-http/src/h1/dispatcher.rs index 00b51360..cc5319c7 100644 --- a/actix-http/src/h1/dispatcher.rs +++ b/actix-http/src/h1/dispatcher.rs @@ -1182,7 +1182,8 @@ where let state_is_none = inner_p.state.is_none(); // read half is closed; we do not process any responses - if inner_p.flags.contains(Flags::READ_DISCONNECT) && state_is_none { + // fix https://github.com/actix/actix-web/issues/1313 + if inner_p.flags.contains(Flags::READ_DISCONNECT) { trace!("read half closed; start shutdown"); inner_p.flags.insert(Flags::SHUTDOWN); }