Minutes of the 3rd October 2022 Teleconference Austin-1259 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 5th October 2022 Attendees: Nick Stoughton, Logitech/USENIX, ISO/IEC JTC 1/SC 22 OR Don Cragun, IEEE PASC OR Mark Ziegast, SHware Systems Dev. Andrew Josey, The Open Group Eric Ackermann, HPI, University of Potsdam Geoff Clare, The Open Group Eric Blake, Red Hat, The Open Group OR * General news This was a call dedicated to general bugs. Andrew noted that no bugs have been received to date for the new APIs part 2 document. For details of the review see https://collaboration.opengroup.org/platform/single_unix_specification/documents.php?action=view&gdid=54267 * Current Business Bug 1122: POSIX should include gettext() and friends OPEN and https://posix.rhansen.org/p/gettext_draft Also https://austingroupbugs.net/file_download.php?file_id=64&type=bug Geoff has uploaded a new PDF and has applied the changes from it in the Issue8NewAPIs branch in gitlab, except for the global NLSPATH change. AJ and Geoff took an action to start work on preparing a company review draft within The Open Group for new APIs. Bug 1560: clarify wording of command substitution https://austingroupbugs.net/view.php?id=1560 Leave this and related bugs 1561 and 1564 open awaiting reviews/discussion. Bug 1273: glob()'s GLOB_ERR/errfunc and non-directory files OPEN https://austingroupbugs.net/view.php?id=1273 We will leave this open awaiting feedback. Bug 768: add "fd-private" POSIX locks to spec OPEN https://austingroupbugs.net/view.php?id=768 Linux has now had OFD locks for several years, and more code in the wild is starting to use it - so we have existing practice (see note 2508) https://www.gnu.org/software/libc/manual/html_mono/libc.html#Open-File-Description-Locks Starting point of resolution at https://posix.rhansen.org/p/bug768 AI to EricB - take the GNU documentation and turn it into a desired action Bug 739: CX requirements for strftime seem to conflict with ISO C OPEN https://austingroupbugs.net/view.php?id=739 Nick completed his action to liaise with the C committee on this issue. C23 is about to go to ballot, so the way to raise the issue would be as a ballot comment. This could be done either as a UK or US national body comment. Andrew confirmed with the UK C Panel that we can submit comments. Bug 728: Restrictions on signal handlers are both excessive and insufficient OPEN https://austingroupbugs.net/view.php?id=728 The alignment with C17 changes the requirements in this area. There is still no allowance for accessing const objects or string literals, so that is something we could consider adding as an extension to C. Or we could raise the issue with the C committee if we want to stay in sync with the C standard. Suggestion: raise it as a C23 ballot comment. Depending on the answer, we could implement what they plan to do, or diverge (or leave things as they are). AI Nick and Geoff: File ballot comments on C23 (through the US and/or UK national bodies to WG14). Bug 708: Make mblen, mbtowc, and wctomb thread-safe for alignment with C11 OPEN https://austingroupbugs.net/view.php?id=708 This was discussed with WG14: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2148.htm#dr_498 DR 498 (URL above) seems to have an agreed wording change from April 2017, but it has not been applied. Nick asked the WG14 convenor what happened to that DR. It appears the item was discussed but in the end the C committee could not agree an acceptable change, and no alternate proposal was available. We will need to accept the C wording for now. Bug 700: Clarify strtoul's behaviour on strings representing negative numbers OPEN https://austingroupbugs.net/view.php?id=700 AI: Nick and Geoff to work together on a C23 ballot comment (against N3047 7.24.1.7 para 5). Bug 689: Possibly unintended allowance for stdio deadlock OPEN https://austingroupbugs.net/view.php?id=689 Change needs to be coordinated with C23. AI: Nick and Geoff to work together on a C23 ballot comment (against N3047 7.23.3 para 3). Bug 618: require isatty and friends to set errno on failure OPEN https://austingroupbugs.net/view.php?id=618 Action item to EricB: email to various lists to collect results for sample program (see bug 503 comment 1005 for starting point) for current errno behavior on various OS Bug 375: Extend test/[...] conditionals: ==, <, >, -nt, -ot, -ef OPEN https://austingroupbugs.net/view.php?id=375 This bug was reviewed, and the following added as note. Given the difficulties identified with the matching operations performed by == and =~ in [[ ... ]] there would seem to be two options for progressing this bug: 1. Keep [[ ... ]] but without =~ and with == "neutered" such that it can only be used portably for fixed-string comparisons. 2. Omit [[ ... ]] altogether but perhaps add -nt, -ot, and -ef to test/[ instead. We would welcome feedback on whether option 1 is an acceptable compromise or is too limiting. We need to resolve this bug by no later than 2022-11-13 if it is to make it into draft 3. After that, only option 2 will be possible (because draft 3 will be "feature complete"). Bug 339: Add _SC_NPROCESSORS_CONF / _SC_NPROCESSORS_ONLN to sysconf(3) / unistd.h Accepted as Marked https://austingroupbugs.net/view.php?id=339 This item is tagged for Issue 8. After D2.1 page 436 line 15169 section , add: _SC_NPROCESSORS_CONF _SC_NPROCESSORS_ONLN After D2.1 page 2058 line 66703 section sysconf(), add two rows to the table: The maximum number of execution units that | _SC_NPROCESSORS_CONF can be made available to run threads† | The maximum number of execution units | _SC_NPROCESSORS_ONLN currently available to run threads† | After D2.1 page 2060 line 66792 section sysconf(), add (after the table): † The nature of an execution unit and the precise conditions under which an execution unit is considered to be available, or can be made available, or how many threads it can execute in parallel, are implementation-defined. On D2.1 page 2060 line 66800 section sysconf(), change: The value shall not change during the lifetime of the calling process, [XSI]except ... to: The value returned for name arguments other than _SC_NPROCESSORS_ONLN shall not change during the lifetime of the calling process, [XSI]except ... On D2.1 page 2791 line 92825 section getconf, change: entries corresponding to _SC_CLK_TCK, _SC_GETGR_R_SIZE_MAX, and _SC_GETPW_R_SIZE_MAX to: entries corresponding to _SC_CLK_TCK, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_NPROCESSORS_CONF, and _SC_NPROCESSORS_ONLN After page 2791 line 92838 section getconf, add a new bullet point: The names NPROCESSORS_CONF and NPROCESSORS_ONLN. The values of these configuration variables shall be determined as if they were obtained by calling the function sysconf() with the argument _SC_NPROCESSORS_CONF or _SC_NPROCESSORS_ONLN, respectively. Bug 337: Add standard support for "!=" (macro shell assignment) in make Accept as Marked https://austingroupbugs.net/view.php?id=337 This item is tagged for Issue 8. After D2.1 page 2942 line 98667 section make, add: The following form defines a delayed-expansion macro (replacing any previous definition of the macro named by string1): string1 != [string2] by immediately expanding macros in string2, if any, and then executing the result as a shell command as if it were passed as the argument to the system() interface. The make utility shall capture the standard output from the shell execution and shall remove all whitespace at the beginning, remove a single trailing character (if there is one), and then replace all remaining characters with characters to produce the value assigned to the macro named by string1. It shall not be an error if the shell command has non-zero exit status. On D2.1 page 2942 line 98687-98691 section make, change: In all cases the value of string1 is defined as all characters from the first non- character to the last non- character, inclusive, before the =, ::=, ?=, or +=. Portable applications shall ensure that a precedes the ::=, ?=, or += in those forms to avoid any parsing ambiguity with implementations that permit , , or in macro names as extensions. to: In all cases the value of string1 is defined as all characters from the first non- character to the last non- character, inclusive, before the =, ::=, :::=, !=, ?=, or +=. Portable applications shall ensure that a precedes the ::=, :::=, !=, ?=, or += in those forms to avoid any parsing ambiguity with implementations that permit , , , or in macro names as extensions. Bug 336: Add recursive variable indirection in makefiles OPEN https://austingroupbugs.net/view.php?id=336 We started on this item and will continue next time. Next Steps ---------- The next calls are on: Thu 2022-10-06 (general bugs) Mon 2022-10-10 (general bugs) The calls are for 90 minutes Apologies in advance: Andrew Josey, 2022-10-1 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)