build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL #9921
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.
build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL
Instead of the WIN32-specific workaround, detect lack of
MSG_DONTWAITin the build system. This allows other platforms withoutMSG_DONTWAITto work too.build: cleanup: define MSG_DONTWAIT/MSG_NO_SIGNAL locall
Define MSG_DONTWAIT and MSG_NO_SIGNAL in the implementation files that use them (
net.cppandnetbase.cpp), instead of compat.h which is included all over the place.This avoids putting them in the global namespace, as defining them as 0 is a hack that works for our specific usage, but it is not a general solution.
Also makes sure they are defined only once so the
!defined(MSG_x)guard can go.compat: use
unsigned intinstead ofu_intu_int(without size specifier) is not available on some platforms (not sure what standard it's supposed to be part of), we don't use it anywhere else, and it doesn't hurt to simply writeunsigned intout here.