build: assume POSIX select() is available

This change effectively replaces an explicit compile-time #error with
a missing prototype error in environments not offering `select()`, and
saves curl-compatible systems from performing an explicit feature check.

Refs:
https://pubs.opengroup.org/onlinepubs/009695399/functions/pselect.html
https://linux.die.net/man/2/select

Closes #22448
This commit is contained in:
Viktor Szakats 2026-07-30 14:20:59 +02:00
parent decc609085
commit cb21a37a68
No known key found for this signature in database
12 changed files with 1 additions and 80 deletions

View file

@ -52,7 +52,6 @@
#define HAVE_SYS_IOCTL_H 1
#define HAVE_ALARM 1
#define HAVE_UTIME 1
#define HAVE_SELECT 1
#define HAVE_SOCKET 1
#define HAVE_STRUCT_TIMEVAL 1

View file

@ -142,9 +142,6 @@
/* Define to 1 if symbol `sa_family_t' exists */
#define HAVE_SA_FAMILY_T 1
/* Define to 1 if you have the select function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the send function. */
#define HAVE_SEND 1

View file

@ -69,9 +69,6 @@
/* Define if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H
/* Define if you have the `select' function. */
#define HAVE_SELECT
/* Define if you have the `signal' function. */
#define HAVE_SIGNAL

View file

@ -103,9 +103,6 @@
/* Define if you have a working ioctlsocket FIONBIO function. */
#define HAVE_IOCTLSOCKET_FIONBIO 1
/* Define if you have the select function. */
#define HAVE_SELECT 1
/* Define if you have the setlocale function. */
#define HAVE_SETLOCALE 1

View file

@ -460,9 +460,6 @@
/* Define to 1 if you have the recv function. */
#cmakedefine HAVE_RECV 1
/* Define to 1 if you have the select function. */
#cmakedefine HAVE_SELECT 1
/* Define to 1 if you have the sched_yield function. */
#cmakedefine HAVE_SCHED_YIELD 1

View file

@ -23,10 +23,6 @@
***************************************************************************/
#include "curl_setup.h"
#ifndef HAVE_SELECT
#error "We cannot compile without select() support."
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#elif defined(HAVE_UNISTD_H)

View file

@ -23,10 +23,6 @@
***************************************************************************/
#include "curl_setup.h"
#if !defined(HAVE_SELECT) && !defined(HAVE_POLL)
#error "We cannot compile without select() or poll() support."
#endif
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#elif defined(HAVE_UNISTD_H)
@ -40,7 +36,7 @@
#include "curlx/timediff.h"
#include "curlx/wait.h"
#ifndef HAVE_POLL
#ifndef HAVE_POLL /* use select() */
/*
* This is a wrapper around select() to aid in Windows compatibility. A
* negative timeout value makes this function wait indefinitely, unless no