Core: added support for TCP keepalive parameters on macOS. #709
+51
−12
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.
The support first appeared in OS X Mavericks 10.9 and is documented since OS X Yosemite 10.10, with two subtle implementation differences:
the TCP_KEEPIDLE socket option is available as TCP_KEEPALIVE;
socket options are not inhereted from the listen socket, they are explicitly set on the newly created socket upon accept.
Thanks to Andy Pan for initial work.
Closes #336.