John E. Malmberg wrote: > OpenVMS has the function. Configure detects it exists, but the test for > it working is failing. > ... > The OpenVMS getdtablesize() is returning the maximum number of open > files that a process can have. > > It is not returning the highest file descriptor + 1 that can be used in > the system. That number is 65535 for OpenVMS Alpha and Integrity. > > That is why it is failing the configure test.
There are two possibilities: (a) change the configure test so that is duplicates fd 0 to 1, 2, 3, ..., getdtablesize() and see if that fails. (b) special-case OpenVMS. I'm not in favour of (a) because it might allocate so many file descriptors that the kernel gets problems. So (b). Just add a few lines case "$host_os" in vms*) ... at the appropriate place. Can you propose such a patch? > If I have a replacement getdtablesize() return 65535, that could cause > programs to assume that they could actually open that many descriptors. This is only a theoretical risk. I know of no programs that are that aggressive. > And if an OpenVMS getrlimit() is provided, what value should it provide > for RLIMIT_NOFILE? Please try to approximate the wording of POSIX [1] as closely as possible. Bruno [1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/getrlimit.html