[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: