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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2121 Actions


    Problem Report Number 2121
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1086
    Raised 1999-12-15 08:00
    Updated 2003-03-13 08:00
    Published 2000-01-11 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSTH version 5.1.4
    Test Identification PTHR.os/all/pthread_create 2
    Problem Summary TSD5TH.00079 This is a test case problem. The "child thread" is cancelling itself but then exits before the cancellation is acted upon and the main thread receives a thread join status from the call to pthread_exi...
    Problem Text
    This is a test case problem.

    The "child thread" is cancelling itself but then exits before
    the cancellation is acted upon and the main thread receives a thread join
    status from the call to pthread_exit() in the "child thread" rather than
    a status of PTHREAD_CANCELED. This seems OK according to the spec. because
    it states that when PTHREAD_CANCEL_ASYNCHRONOUS is set the cancellation request
    may be acted upon at any time and that only async-cancel safe functions may
    be called once PTHREAD_CANCEL_ASYNCHRONOUS is set (which precludes calls to
    everything except pthread_cancel(), pthread_setcancelstate() and
    pthread_setcanceltype()).

    Looking at the assertion being tested, it would seem that the call to
    pthread_cancel() is unnecessary and that this should be replaced by a call to
    pthread_setcancelstate(PTHREAD_DEFERRED, int *oldstate). The code will then
    run through to the pthread_exit() and the pthread_join() in the creating thread
    will need to be modified to expected a joining status of 0 rather than
    PTHREAD_CANCELED.


    Test Output
    Test Results:
    400|114 2 1 18:23:07|IC Start
    200|114 2 18:23:07|TP Start
    520|114 2 000287747 1 1|The cancellation type of all newly created threads,
    520|114 2 000287747 1 2|including the thread in which main() is first invoked,
    520|114 2 000287747 1 3|is PTHREAD_CANCEL_DEFERRED.
    520|114 2 000287747 1 4|Posix Ref: Component PTHREAD_CREATE
    520|114 2 000287747 1 5|Assertion 18.1.1-2(A)
    520|114 2 000287747 1 6|Thread exitval, expected -1, got 0
    220|114 2 2 18:23:07|UNRESOLVED
    410|114 2 1 18:23:07|IC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is recommended as a test suite deficiency.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed Test Suite Deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority