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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 0478 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 0478.


Report 0478 Actions


    Problem Report Number 0478
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0097
    Raised 1994-12-08 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.4
    Test Identification XOPEN.os/time/clock 2
    Problem Summary PG4R.098 In general the algorithm used by the test is: (open streams base log file) call clock() (to initialize) call time() (to get a base line) execute delay loops (to eat time) generate output to log file c...
    Problem Text

    In general the algorithm used by the test is:

    (open streams base log file)

    call clock() (to initialize)
    call time() (to get a base line)

    execute delay loops (to eat time)
    generate output to log file

    call clock()
    call time()

    compare results.

    What this algorithm does not account for is the possible delays and
    asynchronous processing of of using streams i/o between time() call and
    clock() call. Since stream i/o is buffered by the system, the process is not
    charged for the i/o until the i/o actually occurs. When the i/o actually
    happens is asynchronous to the process executing; as far as the process is
    concerned the i/o has been completed and move on, meanwhile, the system has
    buffered the i/o and will service it asynchrously to the process.

    The faster the system the less likely the discrepancy will occur.
    Also if the program is using non-streams base i/o then the problem
    is less likely to occur.

    If there's no i/o occuring during the critical time between the time
    calls then the problem also goes away. The result of this test case may
    become un-predictable.

    Test Output

    /tset/XOPEN.os/time/clock/T.clock 2 Failed

    Test Description:
    The time reported is the sum of user and system times of the calling
    process and terminated child processes for which it has executed
    wait() or system().
    (See PARAMETERS : VSX_CLOCK_ERR below)

    Test Strategy:
    CALL clock() and times(), saving CPU times given by times()
    EXECUTE user and system code, using use_time() and sys_call()
    CREATE child process
    EXECUTE user and system code, using use_time() and sys_call()
    VERIFY that the value returned by clock() agrees with the increase in
    CPU times given by times() to within VSX_CLOCK_ERR percent

    Test Information:
    CPU time used as given by clock() does not correspond to value given by
    times() within tolerance limits
    CPU time as given by times is 140000 microseconds
    CPU time as given by clock is 130000 microseconds
    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This test result is dependent on the VSX_CLOCK_ERR parameter which determines
    the percentage variance allowed between the "times" and "clock" figures.
    Modification of this parameter from the default value of five percent to
    eight percent would cause the test to pass.

    This cannot be considered to be a fault in the test suite and it is not
    recommended that this waiver request is granted.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority