XBD D4R Aardvark Reports Austin-422 Page 1 of 1 Submitted by Andrew Josey, The Open Group. Mar 6, 2008 Aardvark Summary Table ______________________ ERN 1 Accept ERN 2 Accept as marked ERN 3 Accept ERN 4 Accept ERN 5 Accept ERN 6 Accept as marked ERN 7 Accept _____________________________________________________________________________ OBJECTION Enhancement Request Number 1 don.cragun:xxxxxxx Bug in XBDd4 (rdvk# 7) {dwc-2} Thu, 21 Feb 2008 19:19:00 -0800 (PST) (Fri, 03:19 GMT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 0 Line: 0 Section: global (revised version inserted March 4 2008) Problem: (backslash and single-quote/apostrophe character notations) The definition of the backslash character describes the '\' character, but '\' is not a valid character constant in C. Similarly, the definition of the single-quote character describes the ''' character, but ''' is not a valid character constant in C. This document's editorial conventions section also documents these forms, but they are inconsistent with the way other C characters are written in this document as C language character constants including escape sequences. Especially in the XCU volume, there is an inconsistent mix of '\'' and '\\', and ''' and '\'' used when referencing these characters. This problem appears in the front matter, and in the XBD, XCU, XSH, and XRAT volumes of this draft. The changes below provide a definition for the apostrophe character ( and '\'') as a synonym for the single-quote character ( is the character used in localedef files); cleans up the editorial conventions section; and changes uses of ''' and '\' in the rest of the document to consistently use valid C language character constants using escape sequences, or single-quote, and instead. Action: This is a multi-volume change. 1. The changes to the front matter are: Change "'\r', '\'" on BaseI7D4 Pxxxv, L1495 to "'\r'". Change the last sentence on BaseI7D4 Pxxxvi, L1514-1515 from: "For literal characters '\' (or any other sequences such as ''') is the same as the C constant '\\' (or '\'')." to: "The literal characters (also known as single-quote) and are either shown as the C constants '\'' and '\\', respectively or as the special characters , single- quote, and depending on context." 2. The changes to the XBD volume are: Add a new definition after XBD P35, L1190: 3.16 Apostrophe Character () The character designated by '\'' in the C language, also known as the single-quote character. and renumber the following definitions. Change: "The character '\', also known as reverse solidus." on XBD P38, L1258 to: "The character designated by '\\' in the C language, also known as reverse solidus." Change: "The character ''', also known as ." on XBD P88, L2466 to: "The character designated by '\'' in the C language, also known as ." Change "character '\'" on XBD P119, L3310 to " character". Remove all characters from the 1st column (with heading "Escape Sequence") of Table 5-1 on P119, L3310-3321. Change "glyphs" on XBD P127, L3654 to "glyphs represented by the C character constants". Change "'\'" on XBD P127, L3655 to "'\\'". Change "'\'" on XBD P128, L3682 to "'\\'". Change "'\'" on XBD P181, L5871 to "'\\'". Change "'\'" on XBD P182, L5909 to "'\\'". Change "'\'" on XBD P186, L6079 to "'\\'". Change "'\'" on XBD P189, L6199 to "a character". Change "'\'" on XBD P189, L6203 to "a character". Change "'\'" on XBD P193, L6378 to "a character". Change "'\'" on XBD P202, L6696 to "". Change "'\'" on XBD P317, L10696 to " character". 3. The changes to the XSH volume are: Change "character ('\')" on XSH P873, L28993 to "character". Change "The integer" on XSH P891, L29722 to "(The .) The integer". Change "'''" on XSH P892, L29745 to "". Change "''' (apostrophe)" on XSH P902, L30185 to "". Change "The integer" on XSH P971, L32524 to "(The .) The integer". Change "'''" on XSH P972. L32547 to "". Change "'''" on XSH P977. L32768 to "". Change "'\'" on XSH P1764, L56416 to " character". 4. The changes to the XCU volume are: Change: ", single-quote, or double-quote ('\', ''', or '"')" on XCU P2291, L72269 to: ", single-quote, or double-quote" Change: "'$', '`', or '\' (backquote, , )." on XCU P2301, L72668 to: "'$', '`', or ." Change: "'\', ''', and '"' (, single-quote, double-quote)" on XCU P2303, L72748 to: ", single-quote, and double-quote" Change "'\'" on XCU P2431, L77329 to "". Change " ('\')" on XCU P2436, L77561-77562 to "". Change " ('\')." on XCU P2468, L78938 to ".". Change " ('\')" on XCU P2607, L84156 to "". Change " ('\')" on XCU P2619, L84651 to "". Change "'&', '\'" on XCU P2619, L84654 to ", '&'". Change: "portable character set or one of the characters '`' or '''" on XCU P2636, L85334-85335 to: "portable character set, the backquote character, or the single- quote character" Change: "'`', ''', '"', and ''," on XCU P2645, L85698 to: "'"', backquote, single-quote, and ," Change "characters '`' and '''" on XCU P2653, L85981 to "backquote and single-quote characters". Change "'\'" on XCU P2658, L86203 to "". Change "'\'" on XCU P2667, L86536 to "". Change "'\'" on XCU P2667, L86537 to "". Change "'\'" on XCU P2667, L86538 to "". Change "Backslash ('\')" on XCU P2753, L89856 to "A ". Change "'\'" on XCU P2821, L92314 to "". Change "('`')" on XCU P2865, L94016 to "backquote". Change "(''')" on XCU P2865, L94016 to "single-quote". Change "'''" on XCU P2913, L95963 to "single-quote". Change "'\'" on XCU P2983, L98495 to "". Change " ('\')" on XCU P3115, L103626 to "". Change " ('\')" on XCU P3119, L103753 to "". Change " ('\')" on XCU P3149, L104823 to "". Change "'\'" on XCU P3149, L104824 to "". Change "'\'" on XCU P3149, L104825 to "". Change "'\'" on XCU P3237, L108153 to "". Change "(''')" on XCU P3304, L110453 to "()". Change "'`' and '''" on XCU P3349, L112186 to "backquote and single- quote". Change "single-quotes (''')" on XCU P3382, L113392 to "single-quote characters". Change "'\'" on XCU P3393, L113895 to "". 5. The changes to the XRAT volume are: Change "'''" on XRAT P3453, L116112 to "". Change "'\'" on XRAT P3468, L116757 to "". Change "'''" on XRAT P3639, L123888 to "single-quote". Change " ('\') and quote (''')" on XRAT P3649, L124314 to " and single-quote". _____________________________________________________________________________ EDITORIAL Enhancement Request Number 2 don.cragun:xxxxxxx Bug in XBDd4 (rdvk# 6) {dwc-1} Thu, 21 Feb 2008 19:19:00 -0800 (PST) (Fri, 03:19 GMT) _____________________________________________________________________________ Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____ Rationale for rejected or partial changes: The editors will rename the "book" in the pdf. We're not able to put line numbers on the cover pages. _____________________________________________________________________________ Page: vi Line: 0 Section: Front_Matter Problem: (Front matter page numbers) Note that this aardvark report is against the front matter; not about XBD. The on-line aardvark reporting forms only allow XBD, XSH, XCU, and XRAT as choices for the volume; not front matter. The PDF file for this draft uses the prefix "BaseI7D4" as the section name for the front matter. Although I understand where this came from, it would be better if it more closely matched other sections (XBD, XSH, XCU, and XRAT). It is also interesting that there are no line numbers on pages i and ii. Action: Either use "XBD" for the front matter as well as for the base definitions volume or use "XFM" for the front matter. (I prefer XFM only because the way the document is currently set up, some line numbers in the front matter duplicate line numbers in the early XBD pages.) Consider starting line numbering on page i instead of on page iii. ------------------------------------------------------------------------------ _____________________________________________________________________________ EDITORIAL Enhancement Request Number 3 gwc:xxxxxxxxxxxxx Bug in XBDd4 4.8 (rdvk# 4) [gwc fstatat file time update] Thu, 31 Jan 2008 17:11:57 +0000 _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 107 Line: 2931 Section: 4.8 Proposed Resolution: Accept Problem: The list of functions that update timestamps that are marked for update includes stat(). Since the stat() page defines both lstat() and fstatat() by reference to stat(), this requirement on stat() also applies to lstat() and fstatat(). It is an editorial matter whether to include lstat() and fstatat() in the list here - the requirements made by the standard would be the same either way. However, the list includes lstat() but not fstatat(). This inconsistency should be corrected either by adding fstatat() or removing lstat(). Action: Add fstatat() to the list, and consider rearranging it into alphabetical order. _____________________________________________________________________________ OBJECTION Enhancement Request Number 4 gwc:xxxxxxxxxxxxx Bug in XBDd4 4.12 (rdvk# 1) [gwc pathname resolution] Wed, 30 Jan 2008 16:51:08 +0000 _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 109 Line: 2992 Section: 4.12 Proposed Resolution: defer Problem: Some new text in the description of pathname resolution states: "When a process resolves a pathname of an existing file, the entire pathname shall be resolved as described below. When a process resolves a pathname of a file that is to be created immediately after the pathname is resolved, pathname resolution terminates when all components of the path prefix of the last component have been resolved. It is then the responsibility of the process to create the final component." There is a problem with the use of "a file that is to be created" here. It needs to say "a directory entry that is to be created", otherwise it omits the cases of the second argument to link() and rename() where the function creates a directory entry but does not create a file. It wouldn't hurt to tidy up some other places that also talk about a pathname being resolved to a file rather than to a directory entry. While they are much less of a problem than the one above, it is worth being consistent. Action: Change "When a process resolves a pathname of an existing file, the entire pathname shall be resolved as described below. When a process resolves a pathname of a file that is to be created" to "When a process resolves a pathname of an existing directory entry, the entire pathname shall be resolved as described below. When a process resolves a pathname of a directory entry that is to be created" At line 2991 change "There may be multiple pathnames that resolve to the same file." to "There may be multiple pathnames that resolve to the same directory entry, and multiple directory entries for the same file." Cross-volume changes to XSH ... page 1213 line 40040 section link, change "The path2 argument resolves to an existing file" to "The path2 argument resolves to an existing directory entry" page 1751 line 55955 section realpath, change "The realpath() function shall derive, from the pathname pointed to by file_name, an absolute pathname that names the same file" to "The realpath() function shall derive, from the pathname pointed to by file_name, an absolute pathname that resolves to the same directory entry" page 1776 line 56799 section rename, change "If the new argument does not resolve to an existing file of type directory" to "If the new argument does not resolve to an existing directory entry for a file of type directory" page 1776 line 56804 section rename, change "If the old argument and the new argument resolve to the same existing file" to "If the old argument and the new argument resolve to either the same existing directory entry or different directory entries for the same existing file" Cross-volume changes to XCU ... page 2483 line 79513 section c99, change "If an existing file that does not resolve to a regular file matches the name of an object file being written or matches the name of an executable file being created by c99, it is unspecified whether c99 shall attempt to write the object file or create the executable file" to "If the pathname of an object file or executable file to be created by c99 resolves to an existing directory entry for a file that is not a regular file, it is unspecified whether c99 shall attempt to create the file" page 3214-3215 line 107291-107322 section test, change all occurrences of "resolves to a file that exists and is a" to "resolves to an existing directory entry for a" and change all occurrences of "resolves to a file that exists but is not a" to "resolves to an existing directory entry for a file that is not a" At line 107299 change "resolves to a file that exists" to "resolves to an existing directory entry" At lines 107303, 107323 and 107331 change "resolves to a file that exists and has" to "resolves to an existing directory entry for a file that has" and later in the same paragraphs change "resolves to a file that exists but does not have" to "resolves to an existing directory entry for a file that does not have" At lines 107317, 107334 and 107338 change "resolves to a file that exists and for which" to "resolves to an existing directory entry for a file for which" and later in the same paragraphs change "resolves to a file for which" to "resolves to an existing directory entry for a file for which" _____________________________________________________________________________ OBJECTION Enhancement Request Number 5 gwc:xxxxxxxxxxxxx Bug in XBDd4 12.2 (rdvk# 5) [gwc guideline 13] Fri, 1 Feb 2008 10:42:33 +0000 _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 214 Line: 7151 Section: 12.2 Proposed Resolution: Accept Problem: Now that some utilities (e.g. cp) contain text in the OPERANDS section forbidding a '-' operand from being treated as stdin/stdout, some text relating to syntax guideline 13 needs changing to allow for this. Action: Change "required to accept the operand" to "required to accept, or not to accept, the operand" in "Where a utility described in the Shell and Utilities volume of POSIX.1-200x as conforming to these guidelines is required to accept the operand '-' to mean standard input or output, this usage is explained in the OPERANDS section." _____________________________________________________________________________ EDITORIAL Enhancement Request Number 6 gwc:xxxxxxxxxxxxx Bug in XBDd4 sys/wait.h (rdvk# 2) [gwc wait WNOHANG] Fri, 1 Feb 2008 10:44:34 +0000 _____________________________________________________________________________ Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____ Rationale for rejected or partial changes: At page 403 line 13554 section sys/wait.h, after WUNTRACED add "[XSI] WCONTINUED Report status of continued child process.[/XSI]" At lines 13567-13568 delete WCONTINUED and WNOHANG (and their descriptions). After line 13569 add "The [XSI]WCONTINUED[/XSI] and WNOHANG constants, described above for waitpid(), can also be used with waitid()." Cross volume to XSH XSH p2182 line 68921 Change "Return immediately if there are no children to wait for." to "Do not hang if no status is available; return immediately." At line 68932 change "If WNOHANG was specified and there are no children to wait for, 0 shall be returned." to "If WNOHANG was specified and status is not available for any process specified by idtype and id, 0 shall be returned." _____________________________________________________________________________ Page: 403 Line: 13553,13568 Section: sys/wait.h Proposed Resolution: defer, possible problem with waitid() page Problem: WNOHANG appears twice on the page, once in the waitpid() constants and once in the waitid() constants. Action: At line 13552 change: The header shall define the following symbolic constants for use with waitpid(): WNOHANG Do not hang if no status is available; return immediately. to: The header shall define the following symbolic constant for use with waitpid() and waitid(): WNOHANG Do not hang if no status is available; return immediately. The header shall define the following symbolic constant for use with waitpid(): Delete line 13568: WNOHANG Return immediately if there are no children to wait for. _____________________________________________________________________________ OBJECTION Enhancement Request Number 7 gwc:xxxxxxxxxxxxx Bug in XBDd4 unistd.h (rdvk# 3) [gwc unistd SC_ROBUST] Thu, 31 Jan 2008 17:08:52 +0000 _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 440 Line: 14963 Section: unistd.h Proposed Resolution: Accept Problem: _SC_THREAD_ROBUST_PRIO_INHERIT and _SC_THREAD_ROBUST_PRIO_PROTECT are missing from . Although no change has been made since the previous draft, either here or on the sysconf page where _SC_THREAD_ROBUST_PRIO_INHERIT and _SC_THREAD_ROBUST_PRIO_PROTECT are are listed, this change should be considered to be in scope on the grounds of making the document internally consistent. Action: After line 14963 add: _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_PROTECT