|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2304 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2304.
Report 2304 Actions
Problem Report Number 2304 Submitter's Classification Specification problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1180 Raised 2004-01-10 04:06 Updated 2004-01-16 20:18 Published 2004-01-16 20:18 Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03) Certification Program The Open Brand certification program Test Identification POSIX_art.os/timers/clock_nanosleep: tests 6, 7, 8, 9, 10, 11, 12, 13,
14, 15Specification Base Definitions Issue 6 Location in Spec SUSv3 TC1, XSH line 6786 Problem Summary clock_nanosleep() tests incorrect checks errno for the error rather than
the return value as specified in SUSv3 tC1.Problem Text The return value section of clock_nanosleep() states the following:
RETURN VALUE
If the clock_nanosleep( ) function returns because the requested
time has elapsed, its return value shall be zero.
If the clock_nanosleep( ) function returns because it has been
interrupted by a signal, it shall return the corresponding error value.
For the relative clock_nanosleep() function, if the rmtp argument is
non-NULL, the timespec structure referenced by it shall be updated to
contain the amount of time remaining in the interval (the requested time
minus the time actually slept). If the rmtp argument is NULL, the
remaining time is not returned. The absolute clock_nanosleep( ) function
has no effect on the structure referenced by rmtp.
If clock_nanosleep( ) fails, it shall return the corresponding error value.
But the referenced assertions do something similiar to the following
code from test 8:
if (clock_nanosleep(CLOCK_REALTIME, NULL, &tp, &rmtp) != -1)
{
in_rpt("clock_nanosleep() did not return -1");
xx_rpt(FAILURE);
error++;
}
if (errno != EINTR)
{
in_rpt("clock_nanosleep() did not return errno
EINTR. er
rno %d %s ", errno, errname(errno));
xx_rpt(FAILURE);
error++;
}
According to the text above -1 is not a valid return code. Additionally,
the return value needs to checked where errno is being checked in the code.Review Information
Review Type SA Review Start Date 2004-01-10 04:06 Last Updated 2004-01-16 20:18 Completed 2004-01-16 20:18 Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion This is an agreed test suite deficiency.
Problem Reporting System Options:
- View Report 2304
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority