Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Oct 1995 17:02:03 -0400
From:      "Garrett A. Wollman" <wollman@lcs.mit.edu>
To:        Terry Lambert <terry@lambert.org>
Cc:        bde@zeta.org.au (Bruce Evans), bakul@netcom.com, current@freefall.freebsd.org, hackers@freefall.freebsd.org
Subject:   Re: getdtablesize() broken?
Message-ID:  <9510182102.AA05903@halloran-eldar.lcs.mit.edu>
In-Reply-To: <199510181939.MAA00690@phaeton.artisoft.com>
References:  <199510180704.RAA16305@godzilla.zeta.org.au> <199510181939.MAA00690@phaeton.artisoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Wed, 18 Oct 1995 12:39:49 -0700 (MST), Terry Lambert <terry@lambert.org> said:

> ] #define ARG_MAX		65536	/* max bytes for an exec function */

> Type:		Bogus.

Type:		POSIX.

> Required by:	The process environment being in the user's address
> 		space instead of attached to the proc structure and
> 		accessed through system calls.

BZZZZT!  Wrong, but thanks for playing.  You can ask David or John
about the memory-fragmentation issues which mandate the use of a
separate VM submap to hold this data while it is being staged between
the old process and the new process.

> ] #define CHILD_MAX		   40	/* max simultaneous processes */

> Type:		Administrative (compile time override)

Type:		Bogus but POSIX.

> Required by:	The ability for a user program to fork(2) the system to
> 		death.

BZZZZT!  This value should be modifiable at run time.  (It isn't yet.)

> ] #define LINK_MAX		32767	/* max file link count */

> Type:		Pragmatic

Type:		POSIX.

> ] #define MAX_CANON		  255	/* max bytes in term canon input line */

> Type:		Bogus

Type:		POSIX.

> ] #define NGROUPS_MAX		   16	/* max supplemental group id's */

> Type:		Standard (Interoperability, Legacy)
> Required by:	NFS, YP
> Reason:		Excess groups are truncated by the NFS external ID
> 		representation mechanism.  In point of fact, this
> 		limit should be 8 to ensure interoperability with
> 		older SVR3/SVR4 systems.

No, the NFS and RPC code have their own kluges to deal with broken
systems.

> ] #define OPEN_MAX		   64	/* max open files per process */

> Type:		Bogus

Type:		POSIX.

> ] #define PIPE_BUF		  512	/* max bytes for atomic pipe writes */

> Type:		Bogus

Type:		POSIX.

> ] #define BC_BASE_MAX		   99	/* max ibase/obase values in bc(1) */
> ] #define BC_DIM_MAX		 2048	/* max array elements in bc(1) */
> ] #define BC_SCALE_MAX		   99	/* max scale value in bc(1) */
> ] #define BC_STRING_MAX		 1000	/* max const string length in bc(1) */
> ] #define COLL_WEIGHTS_MAX	    0	/* max weights for order keyword */
> ] #define EXPR_NEST_MAX		   32	/* max expressions nested in expr(1) */
> ] #define LINE_MAX		 2048	/* max bytes in an input line */
> ] #define RE_DUP_MAX		  255	/* max RE's in interval notation */

> Type:		Bogus

Type:		POSIX.

> Required by:	A user space program

Required by:	IEEE-CS technical committee P1003.1.

Any user-space program that executes `bc' to do arithmetic, or uses
the LC_COLLATE localization support, or executes `expr' to do
arithmetic.

-GAWollman

--
Garrett A. Wollman   | Shashish is simple, it's discreet, it's brief. ... 
wollman@lcs.mit.edu  | Shashish is the bonding of hearts in spite of distance.
Opinions not those of| It is a bond more powerful than absence.  We like people
MIT, LCS, ANA, or NSA| who like Shashish.  - Claude McKenzie + Florent Vollant



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9510182102.AA05903>