Bug#225304: libc6-dev: OPEN_MAX undeclared after using limits.h
On Sun, Dec 28, 2003 at 04:17:07PM +0100, Simone Piccardi wrote:
> Package: libc6-dev
> Version: 2.3.2.ds1-10
> Severity: normal
>
> I'm trying to use OPEN_MAX in a sample program. But it get not declared also
> after including limits.h.
This is deliberate and not a bug. For example,
/usr/include/bits/local_lim.h says:
/* The kernel header pollutes the namespace with the NR_OPEN symbol
and defines LINK_MAX although filesystems have different maxima. A
similar thing is true for OPEN_MAX: the limit can be changed at
runtime and therefore the macro must not be defined. Remove this
after including the header if necessary. */
POSIX does not require OPEN_MAX to be defined as a macro. If such a
macro is not defined, you should use sysconf(_SC_OPEN_MAX) to discover
the current value. See 'info libc "General Limits"', particularly the
first two paragraphs.
Cheers,
--
Colin Watson [cjwatson@flatline.org.uk]
Reply to: