curl/CMake
Andy Pan 3d02872be7
socket: use accept4 when available
Linux, *BSD, and Solaris support accept4 system call that enables the
caller to assign additional flags and save some extra system calls. It
can come in handy when O_NONBLOCK or/and FD_CLOEXEC is/are required on a
socket after being accepted.

Ref:
https://man7.org/linux/man-pages/man2/accept.2.html
https://man.freebsd.org/cgi/man.cgi?query=accept4
https://man.dragonflybsd.org/?command=accept&section=2
https://man.openbsd.org/accept.2
https://man.netbsd.org/accept.2
https://docs.oracle.com/cd/E88353_01/html/E37843/accept4-3c.html
https://www.gnu.org/software/gnulib/manual/html_node/accept4.html

Closes #16979
2025-04-06 13:08:33 +02:00
..
cmake_uninstall.cmake.in cmake: replace exec_program() with execute_process() 2025-03-23 00:06:25 +01:00
CMakeConfigurableFile.in copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl-config.cmake.in cmake: drop CURL_USE_PKGCONFIG from curl-config.cmake.in 2025-01-25 15:21:17 +01:00
CurlSymbolHiding.cmake cmake: replace CMAKE_COMPILER_IS_GNUCC with CMAKE_C_COMPILER_ID 2025-03-23 00:06:25 +01:00
CurlTests.c core: stop redefining E* macros on Windows, map EACCES, related fixes 2025-03-13 00:03:25 +01:00
FindBearSSL.cmake cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
FindBrotli.cmake build: cmake multi-pkg-config detection improvements (brotli, ldap, mbedtls) 2025-03-07 13:48:07 +01:00
FindCares.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindGSS.cmake cmake: drop redundant opening/closing .* from MATCH expressions 2024-12-20 11:38:59 +01:00
FindLDAP.cmake build: cmake multi-pkg-config detection improvements (brotli, ldap, mbedtls) 2025-03-07 13:48:07 +01:00
FindLibgsasl.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibidn2.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibpsl.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibrtmp.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibssh.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibssh2.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibuv.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindMbedTLS.cmake build: cmake multi-pkg-config detection improvements (brotli, ldap, mbedtls) 2025-03-07 13:48:07 +01:00
FindMSH3.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNettle.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindNGHTTP2.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNGHTTP3.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNGTCP2.cmake cmake/FindNGTCP2: simplify multi-pkg-config detection 2025-04-05 23:03:14 +02:00
FindQuiche.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindRustls.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindWolfSSH.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindWolfSSL.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindZstd.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
Macros.cmake cmake: pre-fill known type sizes for Windows OSes 2025-02-25 16:57:13 +01:00
OtherTests.cmake build: fix compiler warnings in feature detections 2025-02-16 02:39:35 +01:00
PickyWarnings.cmake cmake: replace CMAKE_COMPILER_IS_GNUCC with CMAKE_C_COMPILER_ID 2025-03-23 00:06:25 +01:00
unix-cache.cmake socket: use accept4 when available 2025-04-06 13:08:33 +02:00
Utilities.cmake cmake: add integration tests, run them in CI 2025-02-07 00:15:48 +01:00
win32-cache.cmake socket: use accept4 when available 2025-04-06 13:08:33 +02:00