Files
Eric Curtin e7d14edd88 fix(relay): close outbound relay stream when target closes first (#3772)
* fix(relay): close outbound relay stream when target closes first

Closes #3724

out_tx was cloned into the target-reading task, so the function's
own copy kept the outbound relay stream open until the client side
also ended. A target that closed a keep-alive connection never
reached the client as EOF, so reused connections hung forever.

Move out_tx into the target-reading task instead of cloning it, so
dropping it on target EOF ends the outbound stream right away.

Signed-off-by: Eric Curtin <eric.curtin@docker.com>

* fix(relay): keep client uploads after target half-close

Signed-off-by: Eric Curtin <eric.curtin@docker.com>

---------

Signed-off-by: Eric Curtin <eric.curtin@docker.com>
2026-10-03 20:30:24 +00:00
..