AC_DEFUN([ccvs_FUNC_SELECT],
[
AC_CHECK_HEADERS([fcntl.h])
AC_CACHE_CHECK([whether select hangs on /dev/null fd when timeout is NULL],
ccvs_cv_func_select_hang,
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[
int numfds;
fd_set readfds;
struct timeval timeout;
int fd = open ("/dev/null", O_RDONLY);
FD_ZERO (&readfds);
FD_SET (fd, &readfds);
timeout.tv_sec = 0;
timeout.tv_usec = 1;
while ((numfds = select (fd + 1, &readfds, NULL, NULL, &timeout)) < 0
&& errno == EINTR);
return (numfds <= 0);
]])],
ccvs_cv_func_select_hang=no,
ccvs_cv_func_select_hang=yes,
ccvs_cv_func_select_hang=yes)
])
if test $ccvs_cv_func_select_hang = yes; then
ccvs_PREREQ_SELECT
AC_LIBOBJ(sunos57-select)
AC_DEFINE(select, rpl_select,
[Define to rpl_select if the replacement function should be used.])
fi
])
AC_DEFUN([ccvs_PREREQ_SELECT], [
AC_CHECK_HEADERS(fcntl.h unistd.h)])