vpnkit-forwarder: avoid -data-connect spinning#563
Conversation
There is currently no initial handshake to check whether the remote is actually there, so we can connect() successfully but then immediately read an EOF in some cases (e.g. port forwarding when the server isn't running). Previously we would spin in a tight loop. This patch adds a log and a 1s delay to avoid spinning. Signed-off-by: David Scott <dave@recoil.org>
Signed-off-by: David Scott <dave@recoil.org>
Signed-off-by: David Scott <dave@recoil.org>
Signed-off-by: David Scott <dave@recoil.org>
| |} ^ isc | ||
| } | ||
| | "functoria-runtime.3.0.3" -> { | ||
| | "functoria-runtime.3.0.3" | "functoria-runtime.3.1.2" -> { |
There was a problem hiding this comment.
(curious)
How do you notice the licenses need to be updated? How do you do the update?
There was a problem hiding this comment.
It's not a great system. The appveyor build fails and gives me a list, mostly consisting of new minor versions. I manually take a look to verify that they haven't changed. 99.99% of the time nothing changes so it's a bit tedious. It would be nice to automate it a bit more. In my ideal world I would just review any changed license text.
Maybe if I had a tool which could go from github tag link -> license data I could use it to update a checked-in cache of licenses.
There was a problem hiding this comment.
Maybe if I had a tool which could go from github tag link -> license data I could use it to update a checked-in cache of licenses.
Oh, I do have that elsewhere!
I can extract a command from it, what would you need? Would that work for instance:
./pinata.sh license info https://github.com/bla/blo
?
Previously if -data-connect was connecting to a port forward and the remote isn't running, it would connect but then get an immediate EOF. Unfortunately it would try again and spin in a tight loop. This is likely to happen when shutting down, as the remote can stop before the port forward closes.
This patch adds a one second delay to break the spinning and a log every 30s to highlight any persistent problem.