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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2432 Actions


    Problem Report Number 2432
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1261
    Raised 2004-11-06 08:52
    Updated 2004-11-09 19:36
    Published 2004-11-09 19:36
    Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03)
    Certification Program The Open Brand certification program
    Test Suite VSART version 1.1.4
    Test Identification POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_rdlock
    Specification Base Definitions Issue 6
    Problem Summary pthread_rwlock_rdlock 4 blocks all other RT threads and hangs test
    Problem Text The problem with this assertion occurs on machines running only one
    processor.

    Once a real-time thread (possible only if running with
    super-user provileges) starts to spin indefinitely, only
    another real-time thread with higher priority can ever run again.

    This is what happens in the misguided test, at line 284:

    while(T4_writer_flag == 0)
    ;

    The other thread in test would set its priority higher than this
    thread, if it ever got a chance, but it never gets this chance.

    A suggested fix for the loop is:

    while(T4_writer_flag == 0) {
    struct timespec ts;
    ts.tv_sec = 0;
    ts.tv_nsec = 10000000; /* 1/100 second */
    (void) nanosleep(&ts, NULL);
    }

    This gives the other thread a chance to run and the test will pass
    on a uniprocessor.
    Test Output No output, assertion hangs test machine.

    Review Information

    Review Type TSMA Review
    Start Date 2004-11-06 08:52
    Last Updated 2004-11-08 21:20
    Completed 2004-11-08 21:20
    Status Complete
    Review Recommendation Test Suite Deficiency (TSD)
    Review Response This is accepted as a fault in the test suite.

    As nanosleep() is an optional function, sleep() would be an alternative
    solution to fix the error in the test.

    Review Type SA Review
    Start Date 2004-11-08 21:20
    Last Updated 2004-11-09 01:12
    Completed 2004-11-09 01:12
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion This PR is accepted as a fault in the test suite.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority