From owner-freebsd-standards@FreeBSD.ORG Wed Mar 2 02:37:57 2011 Return-Path: Delivered-To: freebsd-standards@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E5F75106566C; Wed, 2 Mar 2011 02:37:57 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail01.syd.optusnet.com.au (mail01.syd.optusnet.com.au [211.29.132.182]) by mx1.freebsd.org (Postfix) with ESMTP id 812538FC17; Wed, 2 Mar 2011 02:37:57 +0000 (UTC) Received: from c122-107-114-89.carlnfd1.nsw.optusnet.com.au (c122-107-114-89.carlnfd1.nsw.optusnet.com.au [122.107.114.89]) by mail01.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p222bmlt014599 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 2 Mar 2011 13:37:49 +1100 Date: Wed, 2 Mar 2011 13:37:48 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Thomas Quinot In-Reply-To: <20110301151933.GA28438@melamine.cuivre.fr.eu.org> Message-ID: <20110302131350.E1260@besplex.bde.org> References: <201103011514.p21FEZCm061674@freefall.freebsd.org> <20110301151933.GA28438@melamine.cuivre.fr.eu.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-standards@FreeBSD.org, eadler@FreeBSD.org, bug-followup@FreeBSD.org Subject: Re: standards/104743: [headers] [patch] Wrong values for _POSIX_ minimal limits X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Mar 2011 02:37:58 -0000 On Tue, 1 Mar 2011, Thomas Quinot wrote: > * eadler@FreeBSD.org, 2011-03-01 : > >> State-Changed-From-To: open->patched >> State-Changed-By: eadler >> State-Changed-When: Tue Mar 1 10:14:35 EST 2011 >> State-Changed-Why: >> committed in head (r211980) and 8 (r213655) >> >> http://www.freebsd.org/cgi/query-pr.cgi?pr=104743 > > Right, I think this PR can indeed be closed now. Thanks! I don't see any commit that correctly fixed this. include/limits.h now has: % #if __POSIX_VISIBLE __POSIX_VISIBLE means "any version of POSIX". Many of the definitions under this ifdef (mainly the ones changed in the patch in the PR) have values that depend on the version of POSIX. Thus they cannot be solely under this ifdef. But they are, and recent commits didn't change this at all. If recent commits changed the values, then they just moved the brokenness from one version of POSIX to another. Probably from current POSIX to old POSIX, so it is less impportant. % #define _POSIX_ARG_MAX 4096 % #define _POSIX_CHILD_MAX 25 This was 6 in POSIX.1-1988 through at least POSIX.1-2001-draft7. The PR initially wants to change it unconditionally back to 6. This at least fixes the old versions. According to the PR followup, later versions of POSIX change it to 25, so it needs to be ifdefed. % #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 This was 0 in POSIX.1-1988 through at least POSIX.1-1996. It was changed to be 8 at least as early as POSIX.1-2001-draft7. The PR initially wants to change it unconditionally back to 0. It needs to be ifdefed. % #define _POSIX_OPEN_MAX 20 This was 16 in POSIX.1-1988 through at least POSIX.1-1996. It was changed to be 20 at least as early as POSIX.1-2001-draft7. The PR initially wants to change it unconditionally back to 16. It needs to be ifdefed. % #define _POSIX_PATH_MAX 256 This was 255 in POSIX.1-1988 through at least POSIX.1-1996. It was changed to be 256 at least as early as POSIX.1-2001-draft7. The PR initially wants to change it unconditionally back to 255. It needs to be ifdefed. % #define _POSIX_PIPE_BUF 512 % #define _POSIX_SSIZE_MAX 32767 % #define _POSIX_STREAM_MAX 8 % #define _POSIX_TZNAME_MAX 6 This was 3 in POSIX.1-1988 through at least POSIX.1-1996. It was changed to be 6 at least as early as POSIX.1-2001-draft7. The PR initially wants to change it unconditionally back to 3. It needs to be ifdefed. % ... % #if __POSIX_VISIBLE >= 199309 % #define _POSIX_AIO_LISTIO_MAX 2 Maybe the support for old versions of POSIX is unimportant, but if you don't ifdef the above then you turn the careful ifdefs like this in other parts of the file into nonsense. Bruce