|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1588 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 1588.
Report 1588 Actions
Problem Report Number 1588 Submitter's Classification Specification problem State Resolved Resolution Permanent Interpretation (PIN) Problem Resolution ID PIN.X.0145 Raised 1995-11-07 08:00 Updated 2003-03-13 08:00 Published 1995-11-13 08:00 Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.0 Test Identification CAPI.hdr/misc/time-sys 2-4 Specification System Interfaces and Libraries Issue 4 Version 2 Location in Spec See Problem Text Problem Summary PIN4U.00011 This test may fail on implementations that define tv_usec as a useconds_t instead of a long. Problem Text
This test may fail on implementations that define tv_usec as a
useconds_t instead of a long.
This has been approved as base resolution 1170/108.
--------------------------------------------------
The timeval structure is defined in the XSH4 Issue 2 specification
to include the following two members:
time_t tv_sec; (seconds)
long tv_usec; (microseconds)
On our system, an LP64 implementation where long and pointers are
64 bit data types, our definition of the tv_usec structure member
was explicitly defined to be a 32 bit element, which is more then
adequate to hold the largest possible value of 1000000 seconds.
Changing this structure definition as per the specification will
break our binary compatibility heavily.
We object to the microseconds field in the timeval structure being
defined as a long as this definition do not protect and take into
consideration 64 bit implementations. We recommend that an opaque
type be defined instead of the fixed length integral type.
Furthermore we recommend that the tv_usec field type be redefined
as a "useconds_t" type, which is defined in XSH4 Issue 2 as follows:
useconds_t Used for time in microseconds.
The definition of the useconds_t type is an object that will contain
at least 1000000, the number of microseconds in a second. This type
is currently being used in the ualarm() and usleep() APIs.
While this modification may raise objections of source compatibility
we hold that this is not the case, since the proposed opaque type
can be defined to match the original type.
This modified definition of the timeval structure will maintain
binary compatibility and will enhance portability across platforms,
the major goal of the specification.Test Output
TEST CASE: sys/time.h
TEST PURPOSE #2
The structure timeval shall be defined in
sys/time.h and contain the member tv_usec which
shall be of type long.
TEST: Size of timeval.tv_usec
ERROR: Expected size of tv_usec member of timeval struct to be 8, is 4
2 FAIL
TEST PURPOSE #3
The structure itimerval shall be defined in
sys/time.h and contain the member it_interval which
shall be of type struct timeval.
TEST: Size
TEST: Members
ERROR: expected size of tv_usec member of it_interval member of itimerval struct
to be 8, is 4
3 FAIL
TEST PURPOSE #4
The structure itimerval shall be defined in
sys/time.h and contain the member it_value which
shall be of type struct timeval.
TEST: Size
TEST: Members
ERROR: expected size of tv_usec member of it_value member of itimerval struct to
be 8, is 4
4 FAIL
TEST CASE: sys/resource.h
TEST PURPOSE #17
The structure rusage shall be defined in
sys/resource.h and contain the member ru_utime which
shall be of type struct timeval.
TEST: Size
TEST: Members
ERROR: expected size of tv_usec member of ru_utime member of rusage struct to be
8, is 4
17 FAIL
TEST PURPOSE #18
The structure rusage shall be defined in
sys/resource.h and contain the member ru_stime which
shall be of type struct timeval.
TEST: Size
TEST: Size of members
ERROR: expected size of tv_usec member of ru_stime member of rusage struct to be
8, is 4
18 FAIL
TEST PURPOSE #20
The structure timeval shall be defined in
sys/resource.h and contain the member tv_usec which
shall be of type long.
TEST: Size of timeval.tv_usec
ERROR: Expected size of tv_usec member of timeval struct to be 8, is 4
20 FAIL
TEST CASE: utmpx.h
TEST PURPOSE #6
The structure utmpx shall be defined in utmpx.h and
contain the member ut_tv which shall be of
type struct timeval.
TEST: Size
TEST: Members
ERROR: Expected size of tv_usec member to be 8, is 4
6 FAIL
TEST PURPOSE #32
The structure timeval shall be defined in
utmpx.h and contain the member tv_usec which
shall be of type long.
TEST: Size of timeval.tv_usec
ERROR: Expected size of tv_usec member of timeval struct to be 8, is 4
32 FAIL
TEST CASE: sys/wait.h
TEST PURPOSE #18
The structure rusage shall be defined in
sys/wait.h and contain the member ru_utime which
shall be of type struct timeval.
TEST: Size
TEST: Members
ERROR: expected size of tv_usec member of ru_utime member of rusage struct to be
8, is 4
18 FAIL
TEST PURPOSE #19
The structure rusage shall be defined in
sys/wait.h and contain the member ru_stime which
shall be of type struct timeval.
TEST: Size
TEST: Members
ERROR: expected size of tv_usec member of ru_stime member of rusage struct to be
8, is 4
19 FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
A permanent interpretation is recommended.
We believe this change will have little effect on source portability.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Permanent Interpretation (PIN) Review Conclusion
A Permanent Interpretation is granted.
Problem Reporting System Options:
- View Report 1588
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority