HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1588 Details

Help 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 FAIL

    Review 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:

     

    Back   


Contact the Certification Authority