Report 1070 Actions
Problem Report Number |
1070 |
Submitter's Classification |
Test Suite problem |
State |
Resolved |
Resolution |
Temporary Interpretation (TIN) |
Problem Resolution ID |
TIN.X.0066 |
Raised |
1970-01-01 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1998-04-23 08:00 |
Product Standard |
Internationalised System Calls and Libraries Extended V2 (UNIX 98) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSRT version 5.0.1 |
Test Identification |
rt.os/timers/timer_settime 12,14 |
Specification |
System Interfaces and Headers Issue 5 |
Location in Spec |
See Problem Text |
Problem Summary |
TIN4R.00003 Implementation does not validate it_value if timer is not armed. |
Problem Text |
The test case 12 has the following test assertion: If _POSIX_TIMERS is defined or the implementation sup- ports the timer_settime() function as described in Sys- tem Interfaces and Headers, Issue 5: A call to timer_settime() when value->it_interval specifies a nanosecond value less than zero shall return -1 and set errno to EINVAL. The test case 14 has the following test assertion: If _POSIX_TIMERS is defined or the implementation sup- ports the timer_settime() function as described in Sys- tem Interfaces and Headers, Issue 5: A call to timer_settime() when value->it_interval specifies a nanosecond value greater than or equal to 1000 million shall return -1 and set errno to EINVAL. XSH5 on page 947, its states ....If the it_value member of value is zero, the timer is disarmed. The effect of disarming or resetting a timer on pending expiration notifications is unspecified. In both test cases 12 and 14, the value->it_value member is zero and the timer is disarmed. A call to timer_settime() when the timer is disarmed does not provide meaningful interpretation of value->it_interval, therefore it is not spcified or subject to constraint.
|
Test Output |
200|4 12 15:34:17|TP Start 520|4 12 00000911 1 1|timer_settime succeeded for it_interval.tv_nsec = -1 220|4 12 1 15:34:17|FAIL 410|4 12 1 15:34:17|IC End 400|4 14 1 15:34:17|IC Start 200|4 14 15:34:17|TP Start 520|4 14 00000911 1 1|timer_settime succeeded for 1000000000 nanoseconds 520|4 14 00000911 1 2|timer_settime succeeded for 1000000001 nanoseconds 220|4 14 1 15:34:17|FAIL 410|4 14 1 15:34:17|IC End
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
We recommend this request be refused. We don't see the relevance to these tests of the portion of the spec the cited: the tests do not cause expiration notifications, and in any event the spec does not specify any relationship between expiration notifications and argument validation error returns. The requirements of the specification are: The timer_settime() function sets the time until the next expiration of the timer specified by timerid from the it_value member of the value argument and arm the timer if the it_value member of value is non-zero. If the specified timer was already armed when timer_settime() is called, this call resets the time until next expiration to the value specified. If the it_value member of value is zero, the timer is disarmed. The effect of disarming or resetting a timer on pending expiration notifications is unspecified. . . . The reload value of the timer is set to the value specified by the it_interval member of value. When a timer is armed with a non-zero it_interval, a periodic (or repetitive) timer is specified. . . . The timer_settime() function will fail if: [EINVAL] A value structure specified a nanosecond value less than zero or greater than or equal to 1000 million. This seems to clearly require an implementation to validate the values passed in the value argument and fail with EINVAL if they are invalid. There is no basis on which to conclude that the state of the timer or of expiration validations, before or after the call, have any impact on these argument validation requirements.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
This could be considered a grey area. We will grant a TIN and seek a formal interpretation from POSIX.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Temporary Interpretation (TIN) |
Review Conclusion |
A Temporary Interpretation is granted.
|
Problem Reporting System Options:
|