coreutils/m4/open-max.m4
2003-02-01 11:03:28 +00:00

42 lines
1.2 KiB
Plaintext

#serial 1
# Determine approximately how many files may be open simultaneously
# in one process. This is approximate, since while running this test,
# the configure script already has a few files open.
# From Jim Meyering
AC_DEFUN([UTILS_SYS_OPEN_MAX],
[
AC_CACHE_CHECK([determine how many files may be open simultaneously],
utils_cv_sys_open_max,
[
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int
main ()
{
FILE *result = fopen ("conftest.omax", "w");
int i = 1;
/* Impose an arbitrary limit, in case some system has no
effective limit on the number of simultaneously open files. */
while (i < 30000)
{
FILE *s = fopen ("conftest.op", "w");
if (!s)
break;
++i;
}
fprintf (result, "%d\n", i);
exit (fclose (result) == EOF);
}
]])],
[utils_cv_sys_open_max=`cat conftest.omax`],
[utils_cv_sys_open_max='internal error in open-max.m4'],
[utils_cv_sys_open_max='cross compiling run-test in open-max.m4'])])
AC_DEFINE_UNQUOTED([UTILS_OPEN_MAX],
$utils_cv_sys_open_max,
[the maximum number of simultaneously open files per process])
])