Minutes of the 19 December 2013 Teleconference Austin-638 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 19th December 2013 Attendees: Don Cragun IEEE PASC OR Andrew Josey, The Open Group Eric Blake, Red Hat Martin Rehak, Oracle Geoff Clare, The Open Group Jörg Schilling Fraunhofer FOKUS Mark Brown, Canonical Nick Stoughton, USENIX Mark Ziegast, late Apologies: Richard Hansen, BBN David Clissold, IBM David A. Wheeler, IDA * General news Work on preparing a TC2-2008 draft is progressing. Geoff has prepared initial text to pass to Andrew for processing. * 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. * Current Business 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 #774 Summary: Addition of a POSIX_VERSION shell variable Rejected http://austingroupbugs.net/view.php?id=774 Don has completed his action to write up the rationale for rejecting. This was discussed at length during the December 5, 2013 Austin Group conference call. This request is rejected for several reasons (including but not limited to the following): 1. A given shell may comply to more than one version of the standard. (For example, on Solaris Systems, /usr/xpg4/bin/sh meets the requirements for what this request would specify to be 199309, 199506, and several others before this type of version numbering was included in the POSIX standards. How would the shell know which one of several choices it should report? (Be careful. If you say it should report the latest standard to which it conforms, all of the scripts that depended on it being an earlier value could stop working.) Note that an increasing version number doesn't guarantee additional features; obsolescent features that a script might be depending on can disappear in later versions.) 2. If you want to know about certain features provided by a shell, the version of the standard might not be a good indicator. Whether or not a particular version of the shell conforms to a particular version says nothing about what extensions to the standard might or might not be supported by that shell. And, the example trying to determine whether or not back quotes can be used for command substitution is strange since every version of the POSIX Shell and Utilities Standards have required both $( command ) and `command` to work. 3. Having a shell claim that it conforms to a version of a standard is frequently meaningless unless the utilities that will be found when using the current setting of $PATH conform to the same version of the standard. Using getconf POSIX_VERSION gives you a good idea of the environment you have available, IF you are using a system that conforms to the standard. If you are using a system (e.g., Linux systems) that does not verify that it conforms to the standards, there is no reason to believe that any particular feature of any particular utility will conform to POSIX requirements. (Most GNU utilities do conform to most POSIX requirements, but there can be a huge difference between "most" and "all" when the trivial requirement you want to use in your attempt to write a portable script because doing what POSIX requires is sometimes, hard or slower than doing it "another" or "better" way.) 4. The standard says nothing about how various alternative shells work. It only describes the behavior of a program named sh that can be found with command -p sh. Unfortunately, the current descriptions of getconf and command have a chicken and egg problem; you have to read the documentation to find the path to the command command and the getconf command to get the right one for a particular version of the standards. (I am working on a bug report to add a new requirement to the next revision of the standards to make it easier to find a version of getconf that will give you a way to get the proper settings to set up an environment for any standard supported by that implementation (even if there are multiple versions of getconf on the system), but it hasn't been submitted yet.) Bug #0000782: complex.h reserved identifiers should be normative Accepted as Marked http://austingroupbugs.net/view.php?id=782 We agreed to accept the change in bugnote 2072. Regarding bugnote 2074, if additional change is needed a separate bug should be filed. This item is tagged for TC2-2008 On page 476 line 16146 add a new paragraph: Implementations may also add symbols to the header with the following complete names or the same names suffixed with f or l: cerf cexpm1 clog2 cerfc clog10 clgamma cexp2 clog1p ctgamma Bug 0000783: _POSIX_IPV6 definition in unistd.h is not IP6 shaded Accepted http://austingroupbugs.net/view.php?id=783 This item is tagged for TC2-2008 Bug 0000784: Obsolete, deprecate, or keep unchanged? Accepted as Marked http://austingroupbugs.net/view.php?id=784 This item is tagged for TC2-2008 Change: None. in the FUTURE DIRECTIONS on P2520, L81307 to: Unlike all of the other non-OB-shaded utilities in this standard, a utility by this name probably will not appear in the next revision of this standard. This utility's name is tied to the current revision of the C Standard at the time this standard is approved. Since the C Standard and the this standard are maintained by different organizations on different schedules, we cannot predict what the compiler will be named in the next revision of the standard. Bug 0000786: pathconfat() is missing Future Enhancement http://austingroupbugs.net/view.php?id=786 This was discussed on the teleconference; while there is consensus that the interface would be useful to have, we are reluctant to standardize it without first having interface practice. For now, we will leave the issue open, with the intent to revisit it later when there is an existing implementation. Note that the interface proposed in the Desired Action may be insufficient; the need for a flags argument should be investigated, as well as consideration for any interface named fpathconfat(). Also note that FreeBSD has lpathconf(), which may be a subset of the functionality proposed for pathconfat(). Bug 0000787: posix_fallocate does not specify state of data in the affected region Accepted as Marked http://austingroupbugs.net/view.php?id=787 An interpretation is required: Interpretation response: The standard clearly states space will be allocated if it is not already allocated to the file, and conforming implementations must conform to this. The standard does not allow implementations to overwrite previously allocated data as a side effect of this call. Rationale: None. Notes to the Editor (not part of this interpretation): No change required. Bug 0000788: Definition of Zombie Process unclear Duplicate http://austingroupbugs.net/view.php?id=788 Closed as duplicate of http://austingroupbugs.net/view.php?id=690 Next Steps ---------- The next call is on January 9, 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#