Notes |
(0001461)
geoffclare (manager)
2013-02-11 10:44
|
I agree that omission of timer_t from the list of types that need not
be arithmetic types is likely the result of an oversight. However, it
should be noted that if we remove all restrictions on the types
allowed for timer_t then we should also remove all of the "may fail"
EINVAL errors for invalid timer_t values. There should instead be a
statement that the behaviour is undefined and some rationale, similar
to what we did for invalid pthread_attr_t values. |
|
(0001463)
geoffclare (manager)
2013-02-15 09:59
|
Interpretation response
------------------------
The standard states that timer_t is an arithmetic type, and conforming
implementations must conform to this. However, concerns have been
raised about this which are being referred to the sponsor.
Rationale:
-------------
It appears that this requirement may be an accident of the way timer_t
was added to POSIX.1 via the .1b amendment.
Notes to the Editor (not part of this interpretation):
-------------------------------------------------------
At page 399 line 13408 add timer_t to the list of exceptions to the
arithmetic types requirement.
At page 400 line 13438 add timer_t to the list of types that have no
comparison or assignment operators.
Cross-volume changes to XSH...
At page 2113 line 66876 section timer_delete() add a new paragraph to
the end of the DESCRIPTION:
The behavior is undefined if the value specified by the timerid
argument does not correspond to a timer ID returned by
timer_create() but not yet deleted by timer_delete().
At page 2113 line 66881-66882 section timer_delete() replace the
entire ERRORS section with:
No errors are defined.
At page 2113 line 66888 section timer_delete() change the RATIONALE
section from:
None.
to:
If an implementation detects that the value specified by the
timerid argument to timer_delete() does not correspond to a
timer ID returned by timer_create() but not yet deleted by
timer_delete(), it is recommended that the function should fail
and report an [EINVAL] error.
At page 2115 line 66956 section timer_getoverrun() add a new
paragraph to the end of the DESCRIPTION:
The behavior is undefined if the value specified by the timerid
argument to timer_getoverrun(), timer_gettime(), or
timer_settime() does not correspond to a timer ID returned by
timer_create() but not yet deleted by timer_delete().
At page 2115 line 66968-66970 section timer_getoverrun() delete:
These functions may fail if:
[EINVAL] The timerid argument does not correspond to an ID
returned by timer_create() but not yet deleted by timer_delete().
At page 2116 line 66997 section timer_getoverrun() add a new
paragraph to the end of the RATIONALE section:
If an implementation detects that the value specified by the
timerid argument to timer_getoverrun(), timer_gettime(), or
timer_settime() does not correspond to a timer ID returned by
timer_create() but not yet deleted by timer_delete(), it is
recommended that the function should fail and report an [EINVAL]
error. |
|
(0001513)
ajosey (manager)
2013-03-29 08:04
|
Interpretation Proposed 29 Mar 2013 |
|
(0001583)
ajosey (manager)
2013-05-03 12:20
|
Interpretation approved 3 May 2013 |
|