[1003.1(2016)/Issue7+TC2 0001216]: Adding clockid parameter to functions that accept absolute struct timespec timeouts

2019-01-18 Thread Austin Group Bug Tracker


A NOTE has been added to this issue. 
== 
http://austingroupbugs.net/view.php?id=1216 
== 
Reported By:mikecrowe
Assigned To:ajosey
== 
Project:1003.1(2016)/Issue7+TC2
Issue ID:   1216
Category:   System Interfaces
Type:   Enhancement Request
Severity:   Comment
Priority:   normal
Status: Under Review
Name:   Mike Crowe 
Organization:
User Reference:  
Section:pthread 
Page Number:0 
Line Number:0 
Interp Status:  --- 
Final Accepted Text: 
== 
Date Submitted: 2018-11-26 18:53 UTC
Last Modified:  2019-01-19 04:08 UTC
== 
Summary:Adding clockid parameter to functions that accept
absolute struct timespec timeouts
==
Relationships   ID  Summary
--
related to  0001164 Correct C++11 std::condition_variable r...
== 

-- 
 (0004215) mikecrowe (reporter) - 2019-01-19 04:08
 http://austingroupbugs.net/view.php?id=1216#c4215 
-- 
Here's my suggested wording for pthread_cond_clockwait (with a single hint
to the other new functions too.) It would be great to receive feedback on
whether the changes are broadly appropriate, and whether there is a better
way to describe the changes. Once I know whether I'm on the right track, I
can add the remaining functions (which will hopefully require fewer
changes.)

(I have glibc implementations of sem_clockwait, pthread_mutex_clockwait,
pthread_cond_clockwait, pthread_rwlock_clockrdlock and
pthread_rwlock_clockwrlock working. I just need to get the commit messages
into shape before posting them to the glibc list.)

Thanks.

Mike.

*** Add to lists at lines 3070, 10833, 18119, 52281, 52599, 52710, 55292,
124395, 130171:
pthread_cond_clockwait()

*** After line 10727 insert:
int pthread_cond_clockwait(pthread_cond_t *restrict,
pthread_mutex_t *restrict, clockid_t,
const struct timespec *restrict);

*** After line 10767 insert:
It calls pthread_cond_clockwait() with m as the mutex argument and the call
returns zero or
certain error numbers (see pthread_cond_clockwait()).

*** After line 17972 insert:
It blocks in a call to pthread_cond_clockwait() with m as the mutex
argument.

*** Line 30449
Change "and pthread_cond_timedwait" to ", pthread_cond_timedwait and
pthread_cond_clockwait".

*** Lines 52513, 52515, 52519, 52582, 124488
Change "or pthread_cond_timedwait" to ", pthread_cond_timedwait or
pthread_cond_clockwait".

*** After line 52743 insert:
int pthread_cond_clockwait(pthread_cond_t *restrict cond,
pthread_mutex_t *restrict mutex,
clockid_t clock_id,
const struct timespec *restrict abstime);

*** Lines 52747, 52762, 52763, 52766, 52781, 52783, 52786, 52848, 52882
Add ", pthread_cond_clockwait()" after "pthread_cond_timedwait()"

*** After line 52797 insert:
The pthread_cond_clockwait() function shall be equivalent to
pthread_cond_timedwait(), except that the absolute time specified by
abstime is measured against the clock indicated by clock_id rather than
the
clock specified in the condition variable's clock attribute. All
implementations shall support passing CLOCK_REALTIME to
pthread_cond_clockwait() as the clock_id parameter. If the Monotonic Clock
option is supported, all implementations shall support a clock_id of
CLOCK_MONOTONIC.

*** Line 52822:
Change to "The pthread_cond_timedwait() and pthread_cond_clockwait()
functions shall fail if:"

*** Line 52823, 52850:
Change "pthread_cond_timedwait()" to "pthread_cond_timedwait() or
pthread_cond_clockwait()"

*** Line 52825:
Add "or the clock_id parameter passed to pthread_cond_clockwait is invalid
or not supported."

*** Insert after line 52879:
Choice of clock

Care should be taken to decide which clock is most appropriate when
waiting
with a timeout. The system clock, CLOCK_REALTIME, as used by default with
pthread_cond_timedwait() may be subject to jumps forwards and backwards in
order to correct it against actual time. CLOCK_MONOTONIC is guaranteed not
to jump backwards and must also advance in real time, so using it via
pthread_cond_clockwait() or pthread_condattr_setclock() may be
more appropriate.


[1003.1(2013)/Issue7+TC1 0000953]: Alias expansion is under-specified

2019-01-18 Thread Austin Group Bug Tracker


A NOTE has been added to this issue. 
== 
http://austingroupbugs.net/view.php?id=953 
== 
Reported By:wpollock
Assigned To:ajosey
== 
Project:1003.1(2013)/Issue7+TC1
Issue ID:   953
Category:   Shell and Utilities
Type:   Clarification Requested
Severity:   Objection
Priority:   normal
Status: Interpretation Required
Name:   Wayne Pollock 
Organization:
User Reference:  
Section:2.3.1 Alias Substitution 
Page Number:2322 
Line Number:73690-73705 
Interp Status:  Pending 
Final Accepted Text:See http://austingroupbugs.net/view.php?id=953#c3113

== 
Date Submitted: 2015-06-04 00:22 UTC
Last Modified:  2019-01-18 11:48 UTC
== 
Summary:Alias expansion is under-specified
==
Relationships   ID  Summary
--
related to  736 grammatically accept zero or more Shell...
related to  0001048 deprecate alias and unalias
related to  0001055 unspecified how much is parsed before e...
== 

-- 
 (0004214) geoffclare (manager) - 2019-01-18 11:48
 http://austingroupbugs.net/view.php?id=953#c4214 
-- 
Alternative resolution, based on kre's suggestion on the mailing list.

All page and line numbers are for the 2016 and 2018 editions.

On page 2348 line 74794-74805 (XCU 2.3.1 Alias Substitution),
change:After a token has been delimited, but before applying
the grammatical rules in Section 2.10, a resulting word that is identified
to be the command name word of a simple command shall be examined to
determine whether it is an unquoted, valid alias name.  However, reserved
words in correct grammatical context shall not be candidates for alias
substitution.  A valid alias name (see XBD Section 3.10) shall be one that
has been defined by the alias utility and not subsequently undefined
using unalias.  Implementations also may provide predefined valid
aliases that are in effect when the shell is invoked. To prevent infinite
loops in recursive aliasing, if the shell is not currently processing an
alias of the same name, the word shall be replaced by the value of the
alias; otherwise, it shall not be replaced.

If the value of the alias replacing the word ends in a , the shell
shall check the next command word for alias substitution; this process
shall continue until a word is found that is not a valid alias or an alias
value does not end in a .to:After a token
has been categorized as type TOKEN (see [xref to 2.10.1]), including
(recursively) any token resulting from an alias substitution, the
TOKEN shall be subject to alias substitution if:  the
TOKEN does not contain any quoting characters, the
TOKEN is a valid alias name (see XBD Section 3.10), an
alias with that name is in effect, and the TOKEN did not
result from an alias substitution of the same alias name at any earlier
recursion level,  except that if the TOKEN meets the above
conditions and would be recognized as a reserved word (see [xref to 2.4
Reserved Words]) if it occurred in an appropriate place in the input, it is
unspecified whether the TOKEN is subject to alias substitution.

When a TOKEN is subject to alias substitution, the value of the
alias shall be processed as if it had been read from the input instead of
the TOKEN, with token recognition (see [xref to 2.3 Token
Recognition]) resuming at the first character of the alias value. When the
end of the alias value is reached, the shell may behave as if an additional
 character had been read from the input after the TOKEN that
was replaced.  If it does not add this , and the last character of
the alias value could be part of an operator token, it is unspecified
whether the current token is delimited before token recognition is applied
to the character (if any) that followed the TOKEN in the input.

Note: a future version of this standard may disallow adding this .

If the value of the alias replacing the TOKEN ends in a  that
would be unquoted after substitution, and optionally if it ends in a
 that would be quoted after substitution, the shell shall check the
next token in the input, if it is a TOKEN, 

Re: The alias rescanning issue affects some simple commands

2019-01-18 Thread Geoff Clare
I will shortly be adding a new note to bug 953 with an alternative
resolution based on kre's suggestion below, but with wording that I
believe better matches the existing wording in other related parts of
the standard.

Note that I'm on vacation next week, so if any edits are needed to
this new note, they will have to wait until w/b 28th Jan.

Regards,
Geoff.

Robert Elz  wrote, on 17 Jan 2019:
> 
> What we might want to have the standard say, after the part about
> recognising the alias in the input, and the part aboutreserved word
> tokens being unspecified, but to make clearer what is actually
> intended there, change it to ...
> 
>   except that if the TOKEN meets the above conditions 
>   and would if it occurred in an appropriate place in the
>   input, be recognized as a reserved word (see [xref to
>   2.4 Reserved Words]), it is unspecified whether the TOKEN
>   is subject to alias substitution.
> 
> The "is recognised" can be read as only applying when the TOKEN
> is in the position where a reserved word is possible,  where the
> intent of specifying it this way is to deal with the case where an
> alias found after a previous alias ends in a space is char for char
> equal to a reserved word - but isn't because it is not in the place
> where a reserved work can occur.
> 
> I'd defer the next (note 4201) paragraph (the one about when changes
> to aliases take effect) until lower down, rather then occurring right in
> the middle of processing, and then delete the next bullet list, and the
> text leading up to it, and following it, entirely, and instead continue
> with the "When a TOKEN is subject to alias substitution, ..." paragraph,
> except change it to say
> 
>   When a TOKEN is subject to alias substitution, that TOKEN
>   is deleted from the input.  The value of the alias named by
>   that TOKEN is inserted into the input stream, ahead of the
>   character that delimited the alias TOKEN, and lexical
>   processing resumes with the first character of the alias
>   value, and continues for the remainder of the value, after
>   which the previous delimiting character will be observed
>   again, however perhaps with a different interpretation.
>   It is unspecified whether a single space character is
>   inserted between the value of the alias and the characters
>   that followed the alias TOKEN.
> 
> and then continue with the text from note 4201 ...
> 
>   If the value of the alias replacing the TOKEN ends in a 
> (etc).
> 
> Then assuming it remains part of this bug interpretation, and isn't
> simply moved to 1055 (where it would fit better) the paragraph about
> deferring the effective visibility of changes to alias (the effects of the
> alias and unalias commands) can be added.
> 
> This looks, from the discussions we have been having, as if it will
> handle all existing shells, and result in the minimum possible
> "unspecified" cases.
> 
> In the rationale the effects of the extra (unspecified) added space can
> be explained, and perhaps implementations encouraged not to do that.
> 
> kre

-- 
Geoff Clare 
The Open Group, Apex Plaza, Forbury Road, Reading, RG1 1AX, England



Minutes of the 17th January 2019 Teleconference

2019-01-18 Thread Andrew Josey
All
Enclosed are the minutes from yesterdays call
regards
Andrew
---

Minutes of the 17th January 2019 Teleconference Austin-901 Page 1 of 1
Submitted by Andrew Josey, The Open Group. 18th January 2019

Attendees:
Andrew Josey, The Open Group
Don Cragun, IEEE PASC OR
Nick Stoughton, USENIX, ISO/IEC JTC 1/SC 22 OR
Eric Blake, Red Hat 
Geoff Clare, The Open Group
Joerg Schilling, FOKUS Fraunhofer
Mark Ziegast, SHware Systems

Apologies
None

* General news 

There is still a discussion running on the list about alias implementations;
we agreed to let the discussion run on the list before discussing
on a call.


* Outstanding actions

(Please note that this section has been flushed to shorten the minutes -
to locate the previous set of outstanding actions, look to the minutes
from 9 March 2018 and earlier)

Bug 1077: Recommend support for wide-character regcomp and regexec and/or 
specify multi-byte behavior OPEN
http://austingroupbugs.net/bug_view_page.php?bug_id=1077

Andrew has completed the action to ping his Apple contact and is
awaiting a reply.

Bug 1122: POSIX should include gettext() and friends  OPEN
http://austingroupbugs.net/view.php?id=1122
Left open as an action is still in progress to flesh out a complete proposal.


* Current Business

Bug 1159: Is termination after receipt of SIGINT in dd(1) an error? OPEN
http://austingroupbugs.net/bug_view_page.php?bug_id=1159

This was discussed at length on the call, and will continue on the next call.


Next Steps 
-- 

The next calls are on:

January 21st 2019 (Monday). 
This call will be for 60 minutes.

January 24th 2019 (Thursday)
This call will be for 90 minutes.

Apologies in advance:
Geoff Clare (2019-01-21 and 2019-01-24)
Don Cragun (2019-01-28)
Andrew Josey (2019-01-28, 2019-01-31)

Calls are anchored on US time. (8am Pacific) 

http://austingroupbugs.net

An etherpad is usually up for the meeting, with a URL using the date format as 
below:

https://posix.rhansen.org/p/201x-mm-dd
username=posix password=2115756#


Andrew JoseyThe Open Group
Austin Group Chair  
Email: a.jo...@opengroup.org 
Apex Plaza, Forbury Road,Reading,Berks.RG1 1AX,England
Tel:+44 118 9023044

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=2481






Austin Group teleconference +1-888-426-6840 PIN: 2115756

2019-01-18 Thread Single UNIX Specification
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//opengroup.org//NONSGML kigkonsult.se iCalcreator 2.22.1//
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:America/New_York
X-LIC-LOCATION:America/New_York
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:20120311T02
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:20121104T02
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:5c41b020ef...@opengroup.org
DTSTAMP:20190118T105321Z
ATTENDEE;ROLE=CHAIR:MAILTO:a.jo...@opengroup.org
CREATED:20190118T00Z
DESCRIPTION:Web/Project: Single UNIX Specification\nTitle: Austin Group tel
 econference +1-888-426-6840 PIN: 2115756\nDate/Time: 24-Jan-2019 at 11:00 
 America/New_York\nDuration: 1.50 hours\nURL: https://collaboration.opengro
 up.org/platform/single_unix_specification/events.php\n\n** All calls are a
 nchored on US time **\n\nTopic: Austin Group teleconference\n-
 --\nAudio conference information\n
 ---\nCall-in toll free
  number (US/Canada): +1-888-426-6840\nParticipant PIN: 2115756.\n\nAll Aus
 tin Group participants are most welcome to join the call.\nThe call will l
 ast for 1.5 hours .\nThis call is handling defect report processing.\n\nAn
  etherpad is usually up for a meeting\, with a URL using the date format a
 s below:\n\nhttp://posix.rhansen.org/p/201x-mm-dd\nusername=posix password
 =2115756#\n\nAdditional Call-in numbers:\nGermany Caller P
 aid0-69-2443-2290\nGermany Toll-Free  
  0800-000-1018\nUnited Kingdom   Caller Paid   0-20-305964
 51\nUnited Kingdom   Toll-Free  0800-368-0638\nUSA
  Caller Paid   215-861-6239\nUSA  
   Toll-Free   888-426-6840\nDenmark Caller
  Paid32711870\nDenmark Toll-Free  
  80-717000\nCzech Republic  Caller Paid 2-39016353\nCz
 ech Republic  Toll-Free   800-143-484\nCall-in numbers
  for other countries are available on request\n\nBug reports are available
  at:\nhttp://www.austingroupbugs.net\n
DTSTART;TZID=America/New_York:20190124T11
DURATION:PT1H30M0S
LAST-MODIFIED:20190118T055321Z
ORGANIZER;CN=Single UNIX Specification:MAILTO:do-not-re...@opengroup.org
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Austin Group teleconference +1-888-426-6840 PIN: 2115756
TRANSP:OPAQUE
URL:https://collaboration.opengroup.org/platform/single_unix_specification/
 events.php
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-VISIBILITY:40
X-JOINBEFORE:5
X-CATEGORY:Teleconference
X-PLATO-SITE:Single UNIX Specification
X-PLATO-SITEID:136
END:VEVENT
END:VCALENDAR


meeting.ics
Description: application/ics