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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2483 Actions


    Problem Report Number 2483
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.1288
    Raised 2005-10-14 18:20
    Updated 2005-10-15 14:48
    Published 2005-10-15 14:48
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.2.7
    Test Identification CAPI.os/procprim/sigaction 30
    Linked Problem Reports 2482
    Problem Summary Child process is timed out because busy wait on non-volatile variable is
    optimised away
    Problem Text The code for this test tries to time out a busy-wait for the SIGCHLD
    signal as follows:

    SET_ALARM(SLEEP_TIME);
    while(!sig_rcvd && !got_sigalrm);
    IGNORE_ALARM;

    The problem is that got_sigalrm is not declared volatile (whereas
    sig_rcvd is). So if a SIGCHLD doesn't arrive, since the test of
    got_sigalrm has been optimised away the loop doesn't exit when SIGALRM
    arrives.

    With got_sigalrm declared volatile in capi.h, the loop times out
    correctly and the test reports an Unsupported result as expected.
    Test Output /tset/CAPI.os/procprim/sigaction/T.sigaction 30 Failed

    Test Description:

    Base Conditional Conformance
    If the implementation generates SIGCHLD when a stopped child has
    continued:
    After a call to int sigaction(int sig, const struct sigaction
    *act, struct sigaction *oact) with SA_SIGINFO set in the
    sa_flags
    member of the sigaction structure pointed to by act and sig
    equal
    to SIGCHLD, on entry to the signal catching function
    specified by
    the sa_sigaction member when the stopped child has continued the
    si_code member of the structure pointed to by the siginfo
    argument
    shall contain CLD_CONTINUED, the si_pid member shall contain the
    child process ID, the si_status member shall contain the child's
    signal and the si_uid member shall contain the real user ID
    of the
    process that sent the signal.

    Test Information:
    PREP: Set up action for SIGCHLD
    PREP: fork() a child that stops itself
    PREP: Set up action for SIGCHLD
    TEST: Send SIGCONT to child
    ERROR: Test took longer than 600 seconds: presuming
    function is hung and terminating test

    Review Information

    Review Type TSMA Review
    Start Date 2005-10-14 18:20
    Last Updated 2005-10-14 19:22
    Completed 2005-10-14 19:22
    Status Complete
    Review Recommendation Test Suite Deficiency (TSD)
    Review Response This is accepted as a fault in the test suite.

    Review Type SA Review
    Start Date 2005-10-14 18:22
    Last Updated 2005-10-15 05:27
    Completed 2005-10-15 05:27
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion This PR is accepted as a test suite deficiency

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority