2
dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
3
dnl This file is free software; the Free Software Foundation
4
dnl gives unlimited permission to copy and/or distribute it,
5
dnl with or without modifications, as long as this notice is preserved.
7
AC_DEFUN([gl_FUNC_SELECT],
9
AC_REQUIRE([gl_HEADER_SYS_SELECT])
10
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
11
AC_REQUIRE([gl_SOCKETS])
12
if test "$ac_cv_header_winsock2_h" = yes; then
15
dnl On Interix 3.5, select(0, NULL, NULL, NULL, timeout) fails with error
17
AC_CHECK_HEADERS_ONCE([sys/select.h])
18
AC_CACHE_CHECK([whether select supports a 0 argument],
19
[gl_cv_func_select_supports0],
21
AC_RUN_IFELSE([AC_LANG_SOURCE([[
22
#include <sys/types.h>
25
#include <sys/select.h>
29
struct timeval timeout;
32
return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0;
33
}]])], [gl_cv_func_select_supports0=yes], [gl_cv_func_select_supports0=no],
37
# Guess no on Interix.
38
interix*) gl_cv_func_select_supports0="guessing no";;
39
# Guess yes otherwise.
40
*) gl_cv_func_select_supports0="guessing yes";;
45
case "$gl_cv_func_select_supports0" in
47
*) REPLACE_SELECT=1 ;;