socket: check result of SO_NOSIGPIPE

New define USE_SO_NOSIGPIPE in curl_setup.h, for now set whenever
SO_NOSIGPIPE is defined. Maybe overridden in the future on systems where
this does not work.

With USE_SO_NOSIGPIPE defined, set SO_NOSIGPIPE on all sockets created
by libcurl and fail the creation when setsockopt() fails.

Closes #20370
This commit is contained in:
Stefan Eissing 2026-01-20 11:09:58 +01:00 committed by Daniel Stenberg
parent 0bef137fbd
commit 3dd7f5890f
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
5 changed files with 31 additions and 33 deletions

View file

@ -107,6 +107,11 @@ A fixed faked value to use instead of a proper random number so that functions
in libcurl that are otherwise getting random outputs can be tested for what
they generate.
## `CURL_SIGPIPE_DEBUG`
When present, `curl` does not set `SIGPIPE` to ignore. This allows
verification that `libcurl` does not cause `SIGPIPE` to be raised.
## `CURL_SMALLREQSEND`
An alternative size of HTTP data to be sent at a time only if smaller than the