Minutes of the 6 November 2014 Teleconference Austin-682 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 7th November 2014 Attendees: Mark Ziegast, SHware Systems Don Cragun, IEEE PASC OR David Clissold, IBM Joerg Schilling, FOKUS Fraunhofer Mark Brown, Canonical Richard Hansen, BBN (2nd half) Geoff Clare, The Open Group Andrew Josey, The Open Group Apologies: Nick Stoughton, USENIX, ISO/IEC JTC 1/SC 22 OR Martin Rehak, Oracle, The Open Group OR Eric Blake, Red Hat * General news On the PASC PAR approval progress - still open. Don currently has the action to progress. * Outstanding actions +Bug 0000251: Forbid newline, or even bytes 1 through 31 (inclusive), in filenames OPEN http://austingroupbugs.net/view.php?id=251 Don has an action to produce a proposal. +Bug 0000561: NUL-termination of sun_path in Unix sockets OPEN http://austingroupbugs.net/view.php?id=561 Eric has an action to update the proposal. +Bug 0000573: Please add '+' to the portable filename character set OPEN http://austingroupbugs.net/view.php?id=573 Joerg has an action to prepare a proposed change. +Bug 0000592: consistent use of struct timespec OPEN http://austingroupbugs.net/view.php?id=592 Jim had provided additional information in bugnote 1627. This was discussed and Jim took an action to provide further information. +Bug 0000598: OH shading and new interfaces OPEN http://austingroupbugs.net/view.php?id=598 Eric has an action to propose a new solution with self-contained headers. +Bug 0000517: EBNF support OPEN http://austingroupbugs.net/view.php?id=517 Action on Joerg to look at this. +Bug 0000633: SIGEV_THREAD delivery renders many signal interfaces unsafe OPEN http://austingroupbugs.net/view.php?id=633 We noted that feedback has settled down on the mailing list, and will discuss next session. +Bug 0000657: Conditions under which fmemopen() write a NUL to the buffer are insufficiently specified OPEN http://austingroupbugs.net/view.php?id=657 Eric has an action to propose wording to clarify the behavior for fmemopen(), and also to contact the glibc developers to get their feedback. +Bug 0000658: Undefined/unspecified behavior clauses in description of open have race conditions OPEN http://austingroupbugs.net/view.php?id=658 It was noted that there is some overlap with changes in TC1. Eric took an action to update the proposal to resolve the overlaps appropriately. +Bug 0000615: pthread_setcancelstate should be async-signal-safe OPEN http://austingroupbugs.net/view.php?id=615 We now have reports on AIX and Apple. Jim to report back on whether pthread_cancelstate() is async-signal-safe on Solaris. Andrew to ask HP whether pthread_cancelstate() is async-signal-safe on HP-UX. +Bug 0000672: Necessary step(s) to synchronize filename operations on disk OPEN http://austingroupbugs.net/view.php?id=672 Geoff has a new proposed resolution in note 1618. Decided to solicit input from FS developers. Eric to go to Linux, David to AIX and Jim to Solaris. Jim has completed his action (see bugnote 1691). Andrew should chase HP and Apple for input. +Bug 0000663: Specification of str[n]casecmp is ambiguous reopened http://austingroupbugs.net/view.php?id=663 Action on David to follow up with the IBM developers about the EBCDIC collation sequence. Bug 696 either NAME_MAX shouldn't be optional, or readdir_r() needs clarification http://www.austingroupbugs.net/view.php?id=696 Don has an action to propose a resolution. Bug 0000721: Internal storage vs static storage OPEN http://austingroupbugs.net/view.php?id=721 This item is still open. Bug 0000375: Extend test/[...] conditionals: ==, <, >, -nt, -ot, -ef OPEN http://austingroupbugs.net/view.php?id=375 This is still left open due to discussions pending on the reflector. Bug 0000789: Add set -o pipefail OPEN http://austingroupbugs.net/view.php?id=789 * Current Business - Open Actions Bug #851: pthread_atfork orphans handlers in unloaded shared libraries OPEN http://www.austingroupbugs.net/view.php?id=851 Bug #854: requirement for additional built-in utilities to be searched for via $PATH was not and is not existing practice OPEN http://austingroupbugs.net/view.php?id=854 Dave Korn has responded and we need to discuss at an upcoming meeting. Bug #859: Add posix_random family of interfaces OPEN http://austingroupbugs.net/view.php?id=859 Andrew reported that the Base WG ballot has been extended, but so far the votes returned were all positive to sponsoring the work item. - Bug processing Bug #878: Is empty s2/sep allowed? What is the meaning of "lasts"? Accept as Marked http://austingroupbugs.net/view.php?id=878 This item is tagged for TC2-2008 An interpretation is required. Interpretation response: For strtok(), the standard clearly states that calls with an empty s2 return the remainder of the string being tokenized, and conforming implementations must conform to this. For strtok_r(), the standard is unclear on this issue, and no conformance distinction can be made between alternative implementations based on this. This is being referred to the sponsor. Rationale: The behavior of strtok() with an empty s2 is clear from this text at line 65704: The strtok() function then searches from there for a byte that is contained in the current separator string. If no such byte is found, the current token extends to the end of the string pointed to by s1. The behavior of strtok_r() with an empty sep is unclear. Nothing regarding the behavior of strtok_r() can be inferred from the naming of the lasts argument. Notes to the Editor (not part of this interpretation): On page 2056 lines 65689-65691 (strtok() and strtok_r() synopsis) change: char *strtok(char *restrict s1, const char *restrict s2); char *strtok_r(char *restrict s, const char *restrict sep, char **restrict lasts); to: char *strtok(char *restrict s, const char *restrict sep); char *strtok_r(char *restrict s, const char *restrict sep, char **restrict state); On page 2056 lines 65696-65708, replace all instances of s1 with s and s2 with sep. On page 2056 lines 65714-65725 (strtok_r description), change: The strtok_r() function considers the null-terminated string s as a sequence of zero or more text tokens separated by spans of one or more characters from the separator string sep. The argument lasts points to a user-provided pointer which points to stored information necessary for strtok_r() to continue scanning the same string. In the first call to strtok_r(), s points to a null-terminated string, sep to a null-terminated string of separator characters, and the value pointed to by lasts is ignored. The strtok_r() function shall return a pointer to the first character of the first token, write a null character into s immediately following the returned token, and update the pointer to which lasts points. In subsequent calls, s is a null pointer and lasts shall be unchanged from the previous call so that subsequent calls shall move through the string s, returning successive tokens until no tokens remain. The separator string sep may be different from call to call. When no token remains in s, a null pointer shall be returned. to: The strtok_r() function shall be equivalent to strtok(), except that strtok_r() shall be thread-safe and the argument state points to a user-provided pointer that allows strtok_r() to maintain state between calls which scan the same string. The application shall ensure that the pointer pointed to by state is unique for each string (s) being processed concurrently by strtok_r() calls. The application need not initialize the pointer pointed to by state to any particular value. The implementation shall not update the pointer pointed to by state to point (directly or indirectly) to resources, other than within the string s, that need to be freed or released by the caller. On page 2057 after line 65765 (strtok() application usage), insert a new paragraph: Note that if sep is the empty string, strtok() and strtok_r() return a pointer to the remainder of the string being tokenized. Bug #879: strptime is missing conversion specifiers described in strftime OPEN http://austingroupbugs.net/view.php?id=879 Possible Issue 8 with implementation as extension by current systems, left open. Bug #885: Historical references to "base documents" Accept http://austingroupbugs.net/view.php?id=885 Bug #880: tzset() thread safety and access to the globals it sets Accept http://austingroupbugs.net/view.php?id=880 This item is tagged for TC2-2008 An interpretation is required. Interpretation response: The standard does not speak to this issue, and as such no conformance distinction can be made between alternative implementations based on this. This is being referred to the sponsor. Rationale: None. Notes to the Editor (not part of this interpretation): Use the actions requested in the Desired Actions section. Next Steps ---------- The next call is on November 13, 2014 (a Thursday) Calls are anchored on US time. (8am Pacific) This call will be for the regular 90 minutes. http://austingroupbugs.net An IRC channel will be available for the meeting irc://irc.freenode.net/austingroupbugs An etherpad is usually up for the meeting, with a URL using the date format as below: http://posix@posix.rhansen.org:9001/p/201x-mm-dd password=2115756#