All
Enclosed are the minutes from this weeks teleconference
regards
Andrew
-----------------

Minutes of the 10th October 2024 Teleconference    Austin-1430 Page 1 of 1
Submitted by Andrew Josey, The Open Group.        12th October 2024

Attendees:
   Andrew Josey, The Open Group
   Nick Stoughton, USENIX, ISO/IEC JTC 1/SC 22 OR
   Don Cragun, IEEE SA OR
   Geoff Clare, The Open Group
   Eric Ackermann, CISPA
   Eric Blake, Red Hat, The Open Group OR

Apologies
   Tom Thompson, IEEE

* General news


The ISO status remains unchanged-- we are still awaiting a formal reply from
the ISO editors. 

The issue of duplicate emails to the reflector remains -
Andrew still has the action to contact Mark Brown to see if there is anything 
we can do -
initial investigations show it to be at the Mantis side rather than
The Open Group receiving email system (the items has different message IDs).

* Carried forward



Bug 1851: FD_CLOFORK should not be preserved across exec
https://www.austingroupbugs.net/bug_view_page.php?bug_id=1851

This item still open.
AI: Andrew to try to contact Solaris, other BSD, AIX, and macOS for
comments.  Andrew has partially completed this, sending notes to
contacts for Solaris and macOS. A response has been received for
Solaris.




Bug 1854: dd iflags=fullblock should be iflag=fullblock OPEN
https://www.austingroupbugs.net/bug_view_page.php?bug_id=1854

This item still open

On this issue, which appears to be a typo in the standard. We are
looking for advice from IEEE on whether this can be handled as an
errata item (iflags should have been iflag).

* Current Business

Bug 1797: strftime "%s" should be able to examine tm_gmtoff Accepted as Marked
https://austingroupbugs.net/bug_view_page.php?bug_id=1797

An interpretation is required.
This item is tagged for TC1-2024.


Interpretation Response:
The standard clearly states that when the input is in the normal
range the strftime() %s conversion calculates the number of seconds
since the Epoch as described for mktime(), and conforming implementations
must conform to this.

When the input is not in the normal range, 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:
When the input is in the normal range: there is no requirement for
applications to set the tm_gmtoff member and therefore implementations
cannot rely on it having been set. However, in situations where
there are two valid results of the conversion, an implementation
may choose to make use of tm_gmtoff to decide between these two
values (provided it can do so safely if tm_gmtoff is uninitialized),
even though the strftime() %s conversion is not specified as making
use of tm_gmtoff, since returning either of the values is allowed
by the standard and the method used to choose between them is
internal implementation detail that does not affect applications.

When the input is not in the normal range: the standard states that
the strftime() %s conversion calculates the number of seconds since
the Epoch as described for mktime(), implying that out of range
member values should be handled as for mktime(), but it also states
``If any of the specified values are outside the normal range, the
characters stored are unspecified.''

Notes to the Editor (not part of this interpretation):

On page 452 lines 15753-15754 section XBD <time.h>, add CX shading to the lines 
for tm_gmtoff and tm_zone.

On page 1211 line 41369 section gmtime() DESCRIPTION, change (already in CX 
shading):

    ...where the names in the structure and in the expression
    correspond.
to:
    ...where the names in the structure and in the expression
    correspond; additionally, the tm_zone field shall be set to a
    pointer to an implementation-defined string set to "UTC" or
    "GMT", which shall have static storage duration.

On page 1211 line 41385 section gmtime() RETURN VALUE, delete:
    The structure’s tm_zone member shall be set to a pointer to the
    string "UTC", which shall have static storage duration.


On page 1427 line 47885 section mktime(), change:
    The mktime() function shall make use of only the tm_year, tm_mon,
    tm_mday, tm_hour, tm_min, tm_sec, and tm_isdst members of the
    structure pointed to by timeptr; the values of these members
    shall not be restricted to the ranges described in <time.h>.
to:
    The mktime() function shall make use of only the tm_year, tm_mon,
    tm_mday, tm_hour, tm_min, tm_sec, and tm_isdst members of the
    structure pointed to by timeptr, <CX>except that tm_gmtoff may
    also be used in order to choose between two valid return values,
    provided it can be used safely if uninitialized</CX>; the values
    of these members shall not be restricted to the ranges described
    in <time.h>.

On page 1428 line 47952 section mktime(), change:
    shall calculate the time since the Epoch value using either the
    offset in effect before the change or the offset in effect after
    the change.
to:
    shall calculate the time since the Epoch value using either the
    offset in effect before the change or the offset in effect after
    the change; mktime() may use the value of tm_gmtoff to decide
    which of these two results is the more appropriate to return,
    provided it can do so safely if tm_gmtoff is uninitialized.

On page 2134 line 69724 section strftime(), change:
    The functionality described on this reference page is aligned
    with the ISO C standard. Any conflict between the requirements
    described here and the ISO C standard is unintentional. This
    volume of POSIX.1-2024 defers to the ISO C standard.
to:
    Except for the members of the tm structure used by the <tt>z</tt>
    and <tt>Z</tt> conversion specifiers (see below), the functionality
    described on this reference page is aligned with the ISO C
    standard. Any other conflict between the requirements described
    here and the ISO C standard is unintentional. This volume of
    POSIX.1-2024 defers to the ISO C standard for all strftime()
    functionality except in relation to this aspect of the <tt>z</tt>
    and <tt>Z</tt> conversion specifiers.

On page 2135 line 69760 section strftime(), change:
    If any of the specified values are outside the normal range,
    the characters stored are unspecified.
to:
    If any of the specified values are outside the normal range,
    as if set by localtime(), the characters stored are unspecified.

On page 2135 line 69764 section strftime(), change:
    Local timezone information shall be set as though strftime()
    called tzset().
to:
    It is implementation-defined whether local timezone information
    is set as though strftime() called tzset().

On page 2136 line 69823 section strftime() (%s), change:
    Replaced by the number of seconds since the Epoch as a decimal
    number, calculated as described for mktime(). [tm_year, tm_mon,
    tm_mday, tm_hour, tm_min, tm_sec, tm_isdst]
to:
    Replaced by the number of seconds since the Epoch as a decimal
    number, calculated as described for mktime(), except that the
    tm structure member values used by this conversion need to be
    within the normal range, as if set by localtime(), to avoid
    unspecified output. [tm_year, tm_mon, tm_mday, tm_hour, tm_min,
    tm_sec, tm_isdst, tm_gmtoff]

On page 2137 line 69854 section strftime() (%z), change:
    <CX>If tm_isdst is zero, the standard time offset is used. If
    tm_isdst is greater than zero, the daylight saving time offset
    is used. If tm_isdst is negative, no characters are returned.</CX>
    [tm_isdst, <CX>tm_gmtoff</CX>]
to:
    [<CX>tm_gmtoff</CX>]

On page 2137 line 69858 section strftime() (%Z), change:
    Replaced by the timezone name or abbreviation, or by no bytes
    if no timezone information exists. [tm_isdst, <CX>tm_zone</CX>]
to:
    Replaced by the timezone name or abbreviation, or by no bytes
    if no timezone information exists. <CX>If the tm_zone value was
    not set by one of the standard functions that set it, the
    application shall ensure that it is either a null pointer
    (indicating that no timezone information exists) or points to
    a string containing the timezone name or abbreviation.
    [tm_zone].</CX>

On page 2137 line 69862 section strftime(), change:
    If a struct tm broken-down time structure is created by localtime()
    or localtime_r(), or modified by mktime(), and the value of TZ
    is subsequently modified, the results of the <tt>%Z</tt> and
    <tt>%z</tt> strftime() conversion specifiers are undefined,
    when strftime() is called with such a broken-down time structure.

    If a struct tm broken-down time structure is created or modified
    by gmtime() or gmtime_r(), it is unspecified whether the result
    of the <tt>%Z</tt> and <tt>%z</tt> conversion specifiers shall
    refer to UTC or the current local timezone, when strftime() is
    called with such a broken-down time structure.
to:
    If a struct tm broken-down time structure is created by localtime()
    or localtime_r(), or modified by mktime(), and the value of TZ
    is subsequently modified, the results of the <tt>Z</tt> strftime()
    conversion specifier are undefined, when strftime() is called
    with such a broken-down time structure.

After page 2139 line 69953 section strftime(), add a new paragraph to 
APPLICATION USAGE:
    Using a tm structure populated by gmtime() or gmtime_r() with
    the %s, %z, and %Z conversion of strftime() is not portable
    unless local time is UTC, as the implementation might process
    the conversions either by inspecting the structure’s tm_gmtoff
    and tm_zone members, or by inspecting global state.

After page 2142 line 70092 section strftime(), add a new paragraph to RATIONALE:
    The ISO C standard specifies that the <tt>z</tt> and <tt>Z</tt>
    conversion specifiers use only the tm_isdst member of the tm
    structure, whereas POSIX.1 implementations have the additional
    structure members tm_gmtoff and tm_zone which provide information
    used in these conversions. Therefore this standard does not
    defer to the ISO C standard in relation to this aspect of the
    <tt>z</tt> and <tt>Z</tt> conversion specifiers. A future version
    of the ISO C standard is expected to allow the use of ``all
    members, including any non-standard additional members''.

On page 2376 line 77023 section wcsftime(), change:
    The functionality described on this reference page is aligned
    with the ISO C standard. Any conflict between the requirements
    described here and the ISO C standard is unintentional. This
    volume of POSIX.1-2024 defers to the ISO C standard.
to:
    Except for the members of the tm structure used by the <tt>z</tt>
    and <tt>Z</tt> conversion specifiers (see [xref to strftime()]),
    the functionality described on this reference page is aligned
    with the ISO C standard. Any other conflict between the
    requirements described here and the ISO C standard is unintentional.
    This volume of POSIX.1-2024 defers to the ISO C standard for
    all wcsftime() functionality except in relation to this aspect
    of the <tt>z</tt> and <tt>Z</tt> conversion specifiers.


Bug 1860: kill_dependency() SYNOPSIS has type* instead of type Accepted
https://www.austingroupbugs.net/bug_view_page.php?bug_id=1860

This is tagged TC1-2024 and Errata-2024.

Next Steps 
----------

The next calls are on
 Thu 2024-10-17 (WEBEX meeting - general bugs)
 Thu 2024-10-24 (WEBEX meeting - general bugs)

The calls are for 90 minutes

Apologies in advance:
        2024-10-24 Eric Blake

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)

--------
Andrew Josey                    The Open Group
Austin Group Chair          
Email: [email protected] 
Apex Plaza, Forbury Road,Reading,Berks.RG1 1AX,England

To learn how we maintain your privacy, please review The Open Group Privacy 
Statement at http://www.opengroup.org/privacy.
To unsubscribe/opt-out from this mailing list login to The Open Group 
collaboration portal at
https://collaboration.opengroup.org/operational/portal.php?action=unsub&listid=2481





Reply via email to