Make sure that closing one direction closes the other, too. #159
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR closes issue #130 . The regression was introduced in commit a2d7aec / PR #100 . As I cannot see any memory issues with the code replaced by #100 I just restored the old behaviour of closing both connections as soon as one of them terminates.
The issue of handling half-open connections mentioned by @leahneukirchen in said issue remains. Ideally, a FIN on connection A should only trigger a
closeWrite
connection B, and the proxy should keep relaying data from B to A until B is closed by the remote. However, this was not handled before #100 was merged either 😏