Fix listening on a port after it was closed not working #1531
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.
closes #1526
The bug is that when the app closes a socket it listens to, we don't remove it from our set of
Listen
objects, and if it then listens again on the same port, we don't update theListen
object, which results in the local port (the port mirrord connects to) not to be updated, so mirrord tries to connect to the local port from the first time the app listened on the same requested port.The quick fix is to replace the
Listen
object if the app listens again. But maybe we want to handle socket closes (remove requested port from ports set, notify agent so that the agent stops listening...).