1 AC_DEFUN([FD_SET_OBEYS_FD_SETSIZE], [
2 AC_MSG_CHECKING(for default FD_SETSIZE)
3 AC_CACHE_VAL(ac_cv_default_fdsetsize,
11 #ifdef HAVE_SYS_SELECT_H
12 #include <sys/select.h>
14 int main(int argc, char *argv[])
17 int ac_cv_default_fdsetsize;
18 #if defined(FD_SETSIZE)
19 ac_cv_default_fdsetsize = FD_SETSIZE;
21 ac_cv_default_fdsetsize = (sizeof(fd_set)*8);
23 if ((fp = fopen("conftestval", "w")) == NULL)
25 fprintf(fp, "%d\n", ac_cv_default_fdsetsize);
32 ac_cv_default_fdsetsize=`cat conftestval`,
33 ac_cv_default_fdsetsize=-1,
34 ac_cv_default_fdsetsize=1024
36 AC_MSG_RESULT([$ac_cv_default_fdsetsize])
39 AC_MSG_CHECKING(for default fd_set size)
40 AC_CACHE_VAL(ac_cv_default_fd_set_size,
43 changequote(<<, >>)dnl
46 #include <sys/types.h>
48 #ifdef HAVE_SYS_SELECT_H
49 #include <sys/select.h>
51 int main(int argc, char *argv[])
54 int ac_cv_default_fd_set_size;
55 ac_cv_default_fd_set_size = (sizeof(fd_set));
57 if ((fp = fopen("conftestval", "w")) == NULL)
59 fprintf(fp, "%d\n", ac_cv_default_fd_set_size);
66 ac_cv_default_fd_set_size=`cat conftestval`,
67 ac_cv_default_fd_set_size=-1,
68 ac_cv_default_fd_set_size=128
70 AC_MSG_RESULT([$ac_cv_default_fd_set_size])
73 AC_MSG_CHECKING(for sizeof fd_set obeying FD_SETSIZE)
74 AC_CACHE_VAL(ac_cv_fd_set_size_obeys,
76 save_CPPFLAGS="$CPPFLAGS"
77 CPPFLAGS="$CPPFLAGS -DORIG_FD_SETSIZE=$ac_cv_default_fdsetsize -DORIG_fd_set_size=$ac_cv_default_fd_set_size"
80 #include <sys/types.h>
82 #if (ORIG_FD_SETSIZE < 2048)
83 #define FD_SETSIZE 2048
84 #define __FD_SETSIZE 2048
86 #define FD_SETSIZE 1024
87 #define __FD_SETSIZE 1024
89 #ifdef HAVE_SYS_SELECT_H
90 #include <sys/select.h>
93 if ((ORIG_fd_set_size < 0) || (ORIG_FD_SETSIZE < 0))
95 exit((sizeof(fd_set) == ORIG_fd_set_size) ? 1 : 0);
98 ac_cv_fd_set_size_obeys=yes,
99 ac_cv_fd_set_size_obeys=no,
100 ac_cv_fd_set_size_obeys=yes)
101 CPPFLAGS=$save_CPPFLAGS
102 AC_MSG_RESULT([$ac_cv_fd_set_size_obeys])