On Sat, Jul 07, 2018 at 07:42:44AM +0200, Ingo Schwarze wrote: > Hi, > > Scott Cheloha wrote on Fri, Jul 06, 2018 at 07:31:36PM -0500: > > On Fri, Jul 06, 2018 at 03:07:12PM +0200, Mark Kettenis wrote: > >> Paul Irofti wrote on Fri, 6 Jul 2018 15:36:07 +0300: > >>> somebody wrote: > > >>>> POSIX currently says: > >>>> > >>>> The behavior is undefined if the value specified by the attr > >>>> argument to pthread_create() does not refer to an initialized thread > >>>> attributes object. > > >>> I don't see that bit: > >>> > >>> http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_create.html > > That is -p1003.1-2004, an old version of the standard. > > >>> On the contrary, I see what our manual states: > >>> > >>> [EINVAL] > >>> The attributes specified by attr are invalid. > > >> http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_create.html > > That is -p1003.1-2008, the current version of the standard. > > > If we're gonna adhere to the latest behavior we ought to update the cited > > standard from ISO/IEC 9945-1:1996 ("POSIX.1") to... something more recent. > > > > ISO/IEC 9945-1:2009 contains the behavior you're describing, but most > > of our manpages cite revisions of IEEE 1003.1. Most of *those* cite > > 2008, but judging from your link the 2017 revision is the new hotness. > > > > The distinction between ISO/IEC 9945-1 and IEEE 1003.1 is pretty > > fuzzy to me. > > > > So, which standard/revision is the preferred citation target, if any? > > For library functions, we tend to cite the oldest revision of POSIX > that our implementation conforms to, that is, the first that matches > from the following list: > > -ansiC \" 1989 > -isoC-99 \" 1990 > -isoC-2011 \" 2011 > > -p1003.1 \" 1988 > -p1003.1-90 \" 1990 > -p1003.1-96 \" 1996 > > -xpg3 \" 1989 > -xpg4 \" 1992 > -xpg4.2 \" 1994 > -susv2 \" 1997 > > -p1003.1-2001 \" 2001 > -p1003.1-2004 \" 2004 > -p1003.1-2008 \" 2008 > > This approximate rule probably isn't followed completely consistently; > for example, instead of -xpg* and -susv2, some pages might directly > reference the later -p1003.1-2001 or -p1003.1-2004 that incorporated > them. Some pages might also be more specific and reference e.g. > -p1003.1c-95 instead of -p1003.1-96. Neither of that would seem > wrong to me. > > Note that we will not introduce a new -p1003.1-20xx for the 2016 > edition, which is merely incorporated technical corrigenda, not a > new revision of the standard. It has proven very rare in practice > that the behaviour required by the 2016 edition differs from the > behaviour required by the 2008 edition. In the odd case where it > does, that is such a bad trap that it ought to be decribed explictly > rather than merely with an .St argument that is easy to overlook. > > > And should we update all of the pthread manpages in one sweep? > > Any required corrections are welcome. >
agreed. > > cc jmc > > PS and by "we" I totally mean "I". How hard could it be? :) > > The reason such sweeps are rarely done for sections 2/3 is that jmc@ > isn't comfortable doing them on his own in those sections. Where > needed, such sweeps are certainly welcome. > > He did the sweep in sections 1/8. There, the policy is somewhat > different: There, we tend to reference the *newest* standard we > conform to from the above list. > the 2/3 pages should really reference the most recent standards too. it's just the work hasn;t been done. jmc > Yours, > Ingo