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