Minutes of the 23rd June 2022 Teleconference Austin-1231 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 18th June 2022 Attendees: Don Cragun, IEEE PASC OR Nick Stoughton, Logitech/USENIX, ISO/IEC JTC 1/SC 22 OR Andrew Josey, The Open Group Geoff Clare, The Open Group Eric Ackermann, HPI, University of Potsdam Eric Blake, Red Hat, The Open Group OR Tom Thompson, IEEE Apologies Mark Ziegast, SHware Systems Dev. * General news This was a call dedicated to general bugs. * Current Business Bug 1560: clarify wording of command substitution OPEN https://austingroupbugs.net/view.php?id=1560 Leave this and related bugs 1561, and 1564 open pending reviews/discussions. Bug 657: Conditions under which fmemopen() write a NUL to the buffer are insufficiently specified OPEN https://austingroupbugs.net/view.php?id=657 Outstanding action still on Eric B. Expand to get feedback from Solaris and BSD. 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. We continued working through the outstanding issues list: 1590: requirement for pr on an empty file doesn't match implementations Accepted as Marked https://austingroupbugs.net/view.php?id=1590 This bug was previously reopened and discussed again. This item is tagged for TC3-2008. An interpretation is required. Interpretation response: The standard states the behavior of pr with an empty file, and conforming implementations must conform to this. However, concerns have been raised about this which are being referred to the sponsor. Rationale: The standard does not match existing practice. Notes to the Editor (not part of this interpretation): Make the changes in Note: 0005862. Bug 906: Ambiguity of abort() behavior racing with sigaction Accepted as Marked. https://austingroupbugs.net/view.php?id=906 This item is tagged for TC3-2008. Page and line numbers are for the 2018 edition. On page 565 line 19766 section abort(), change: unless the signal SIGABRT is being caught and the signal handler does not return. to: unless a SIGABRT signal that it generates is caught and the signal handler does not return. On page 565 line 19771 section abort(), change: The SIGABRT signal shall be sent to the calling process as if by means of raise() with the argument SIGABRT. to: The SIGABRT signal shall be sent to the calling [CX]thread[/CX] as if by means of raise() with the argument SIGABRT. [CX]If this signal does not terminate the process (for example, if the signal is caught and the handler returns), abort() may change the disposition of SIGABRT to SIG_DFL and send the signal (in the same way) again. If a second signal is sent and it does not terminate the process, the behavior is unspecified, except that the abort() call shall not return.[/CX] On page 565 line 19785 section abort(), insert at the start of RATIONALE: Historically, abort() has been implemented by calling other signal manipulation functions such as raise(), sigaction(), and pthread_sigmask(). This means that its operation can be affected by concurrent actions in other threads. For example, if abort() attempts to terminate the process by calling sigaction() to change the disposition for SIGABRT to SIG_DFL and then calling raise(), another thread could change the disposition in between those two calls, resulting in the process not being terminated. If this happens, the only requirement is that abort() does not return. An implementation could call those functions in a loop (which could in theory then execute indefinitely), or could terminate the process by calling _exit() (which would ensure termination but result in the wrong wait status). To avoid these issues, implementations are encouraged to implement abort() in a manner such that its operation cannot be affected by concurrent actions in other threads. For example, it could first halt the execution of all other threads, or it could terminate the process using a ``terminate as if by a signal'' system call instead of by raising (a second) SIGABRT. On page 566 line 19805 section abort(), change FUTURE DIRECTIONS from: None. to: A future version of this standard may require abort() to be implemented in a manner such that its operation cannot be affected by concurrent actions in other threads. Bug 1538: what -s is poorly described, uses the word "quit" Accepted as Marked. https://austingroupbugs.net/view.php?id=1538 A new interpretation response has been entered addressing concerns on -s. See note 5857. Action: Andrew to restart the review timer. Bug 1587: exec special built-in should list PATH as environment variable Accepted https://austingroupbugs.net/view.php?id=1587 This item is tagged for TC3-2008. Bug 1586: timeout - new utility: run a command with a time limit OPEN https://austingroupbugs.net/view.php?id=1586 This was discussed. To be acceptable for addition to the standard, some issues with the proposed wording need to be addressed: The long options would need to be changed to single-letter options, e.g. -f instead of --foreground and -p instead of --preserve-status The EXIT STATUS section is not clear in some respects. We should investigate what implementations actually do rather than relying on man pages. Several sections in the standard utility format are missing and need to be added. And we need a sponsor. AI: Eric B to ask The Open Group to sponsor this action, with note that changes are needed as per bullet list above. Bug 1548: Addition of a POSIX.utf-8 locale (likely as 7.3 "POSIX.utf-8 locale") OPEN https://austingroupbugs.net/view.php?id=1548 This was discussed during the 2022-06-23 conference call. We would welcome an addition to the standard that provides a standard UTF-8 locale. Please provide a fully fleshed out proposal. Bug 1533: struct tm: add tm_gmtoff (and tm_zone) field(s) OPEN https://austingroupbugs.net/view.php?id=1533 We will start at this item next time. Next Steps ---------- The next calls are on: Mon 2022-06-27 (gettext) Thu 2022-06-30 (general bugs) No call on Mon 2022-07-04 (US Independence Day Holiday) Apologies in Advance: Andrew Josey, 2022-06-30 Eric Blake, 2022-06-27, 2022-06-30 Geoff Clare, 2022-07-07 The calls are for 90 minutes Calls are anchored on US time. (8am Pacific) Please check the calendar invites for dial in details. Bugs are at: https://austingroupbugs.net An etherpad is usually up for the meeting, with a URL using the date format as below: https://posix.rhansen.org/p/20xx-mm-dd (For write access this uses The Open Group single sign on, for those individuals with gitlab.opengroup.org accounts. Please contact Andrew if you need to be setup)