Minutes of the 29th May 2014 Teleconference Austin-657 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 30th May 2014 Attendees: Nick Stoughton, USENIX, ISO/IEC JTC 1/SC 22 OR Mark Ziegast, SHware Systems Geoff Clare, The Open Group Don Cragun, IEEE PASC OR Andrew Josey, The Open Group David Clissold, IBM Richard Hansen, BBN Eric Blake, Red Hat Martin Rehak, Oracle Mark Brown, Canonical Apologies Joerg Schilling * General news A query was raised about table labelling in the specification. Andrew took an action to check with our editor and report back to the group. * 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 622 left open pending resolution of 615. http://austingroupbugs.net/view.php?id=622 +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 Bug #811: precondition for mutex destruction unclear; example contradicts normative text OPEN http://www.austingroupbugs.net/view.php?id=811 We have left this item open pending further input from Dave Butenhof on supplying a new example. Bug #615: pthread_setcancelstate should be async-signal-safe Accepted as Marked http://austingroupbugs.net/view.php?id=615 This item is tagged for TC2-2008. An interpretation is required. Interpretation response: The standard states that when a thread's cancelability state is PTHREAD_CANCEL_DEFERRED, cancellation requests are held pending until a cancellation point is reached, and conforming implementations must conform to this. However, concerns have been raised about this which are being referred to the sponsor (some cancellation points may be reached in an asynchronous signal handler because some cancellation points are in async-signal-safe functions). Rationale: In order to write a signal handler for an asynchronous signal which can run safely in a cancellable thread, pthread_setcancelstate() must be used to disable cancellation for the duration of any calls that the signal handler makes which are cancellation points. However, the standard does not currently permit strictly conforming applications to do this since pthread_setcancelstate() is not required to be async-signal-safe. Notes to the Editor (not part of this interpretation): At page 489 line 16756 (XSH 2.4.3 Signal Actions), change: All functions not in the above table are considered to be unsafe with respect to signals. to: Any function not in the above table may be unsafe with respect to signals. Implementations may make other interfaces async-signal-safe. At page 1695 line 54349 (XSH pthread_setcancelstate() future directions), change: None. to: The pthread_setcancelstate() function may be added to the table of async-signal-safe functions in section 2.4.3 on page 489. Bug 0000841: pthread_setcancelstate should be async-signal-safe Accepted http://austingroupbugs.net/view.php?id=841 The item is tagged for Issue 8. See the Desired Action At page 489 lines 16722-16755 (XSH 2.4.3) insert: pthread_setcancelstate() After applying the changes from 0000615, at page 489 line 16756 (XSH 2.4.3 Signal Actions), change: Implementations may make other interfaces async-signal-safe. to: It is implementation-defined which additional interfaces, if any, are also async-signal-safe. At page 515 line 17840 section 2.9.5.4 Async-Cancel Safety add two paragraphs: If a thread has asynchronous cancellation enabled and is cancelled during execution of a function that is not async-cancel-safe, the behavior is undefined. If a thread has deferred cancellation enabled, a signal catching function is called in that thread during execution of a function that is not async-cancel-safe, and the signal catching function calls any function that is a cancellation point while a cancellation is pending for the thread, without first disabling cancellation, the behavior is undefined. At page 1694 after line 54312 (XSH pthread_setcancelstate() description) insert a new paragraph: The pthread_setcancelstate() function shall be async-signal-safe. After applying the changes in 0000615, at page 1695 line 54349 (XSH pthread_setcancelstate() future directions), change: The pthread_setcancelstate() function may be added to the table of async-signal-safe functions in section 2.4.3 on page 489. to: None. Bug #622: Disallow loophole for asynchronous cancellation of any function OPEN http://austingroupbugs.net/view.php?id=622 We plan to visit this item next week. Next Steps ---------- The next call is on June 5, 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#