standards/104743: Wrong values for _POSIX_ minimal limits

Thomas Quinot thomas at cuivre.fr.eu.org
Tue Oct 24 03:50:19 PDT 2006


>Number:         104743
>Category:       standards
>Synopsis:       Wrong values for _POSIX_ minimal limits
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-standards
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 24 10:50:17 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Quinot
>Release:        FreeBSD 6.1-RC i386
>Organization:
>Environment:
System: FreeBSD melamine.cuivre.fr.eu.org 6.1-RC FreeBSD 6.1-RC #0: Thu May 4 13:21:21 CEST 2006 thomas at melamine.cuivre.fr.eu.org:/space/build/obj/space/build/src/RELENG_6/sys/MELAMINE i386


	
>Description:
	The FreeBSD version of standard C header file <limits.h> is not
	conforming to the Single UNIX Specification version 2.

	The values for various _POSIX_ constants are incorrect in <limits.h>.
	These constants must provide the most restrictive value for conforming
	implementations, not the actual implemented value:

	http://www.opengroup.org/onlinepubs/007908799/xsh/limits.h.html

	"Maximum Values

	"The symbolic constants in the following list are defined in <limits.h> with the values shown. These are symbolic names for the most restrictive value for certain features on a system supporting the Realtime Feature Group. A conforming implementation will provide values no larger than these values. A portable application will not require a smaller value for correct operation."

>How-To-Repeat:
	
>Fix:

Index: limits.h
===================================================================
RCS file: /space/mirror/ncvs/src/include/limits.h,v
retrieving revision 1.16
diff -u -r1.16 limits.h
--- limits.h	29 Apr 2003 13:35:58 -0000	1.16
+++ limits.h	24 Oct 2006 10:41:43 -0000
@@ -41,18 +41,18 @@
 
 #if __POSIX_VISIBLE
 #define	_POSIX_ARG_MAX		4096
-#define	_POSIX_CHILD_MAX	25
+#define	_POSIX_CHILD_MAX	6
 #define	_POSIX_LINK_MAX		8
 #define	_POSIX_MAX_CANON	255
 #define	_POSIX_MAX_INPUT	255
 #define	_POSIX_NAME_MAX		14
-#define	_POSIX_NGROUPS_MAX	8
-#define	_POSIX_OPEN_MAX		20
-#define	_POSIX_PATH_MAX		256
+#define	_POSIX_NGROUPS_MAX	0
+#define	_POSIX_OPEN_MAX		16
+#define	_POSIX_PATH_MAX		255
 #define	_POSIX_PIPE_BUF		512
 #define	_POSIX_SSIZE_MAX	32767
 #define	_POSIX_STREAM_MAX	8
-#define	_POSIX_TZNAME_MAX	6
+#define	_POSIX_TZNAME_MAX	3
 
 #define	BC_BASE_MAX		   99	/* max ibase/obase values in bc(1) */
 #define	BC_DIM_MAX		 2048	/* max array elements in bc(1) */
@@ -74,7 +74,7 @@
 #endif
 
 #if __POSIX_VISIBLE >= 199309
-#define	_POSIX_AIO_LISTIO_MAX	16
+#define	_POSIX_AIO_LISTIO_MAX	2
 #define	_POSIX_AIO_MAX		1
 #define	_POSIX_DELAYTIMER_MAX	32
 #define	_POSIX_MQ_OPEN_MAX	8

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-standards mailing list