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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1208 Actions


    Problem Report Number 1208
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0410
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    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 CAPIbase/sigpause 1
    Problem Summary PG4U.00057 This IR claims that sigpause should be returning 0.
    Problem Text
    This IR claims that sigpause should be returning 0.

    This assertion states that it will test that a call to
    int sigpause(int sig) will return 0, but instead it tests
    that sigpause() returns -1 and sets errno to EINTR.

    EINTR is not even a valid errno for the sigpause() function.
    Per the specification, EINVAL is the only valid errno for
    sigpause().

    I believe this assertion, as coded, is incorrect and does not
    test what it is intended to test.
    Test Output
    70||"SPEC1170TESTSUITE AREA sigpause 3"
    10|0 /tset/CAPIbase/fsigpause/fsigpause1 16:10:43|TC Start, scenario ref 3459-1
    15|0 1.10 3|TCM Start
    400|0 1 1 16:10:44|IC Start
    200|0 1 16:10:44|TP Start
    520|0 1 851984 1 1|SPEC1170TESTSUITE CASE 1
    520|0 1 851984 1 2|A successful call to int sigpause(int sig) shall
    520|0 1 851984 1 3|remove sig from the calling process's signal mask,
    520|0 1 851984 1 4|suspend the calling process until it receives a
    520|0 1 851984 1 5|signal, and return 0.
    520|0 1 3866643 1 1|PREP: Fork child to test sig=3 (SIGABRT)
    520|0 1 3866643 1 2|PREP: Set signal mask
    520|0 1 3866643 1 3|TEST: sigpause() suspends execution
    520|0 1 3866643 1 4|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 1 5|ERROR: sigpause returned 0
    520|0 1 3866643 2 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 2 2|PREP: Fork child to test sig=14 (SIGALRM)
    520|0 1 3866643 2 3|PREP: Set signal mask
    520|0 1 3866643 2 4|TEST: sigpause() suspends execution
    520|0 1 3866643 2 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 2 6|ERROR: sigpause returned 0
    520|0 1 3866643 3 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 3 2|PREP: Fork child to test sig=20 (SIGCHLD)
    520|0 1 3866643 3 3|PREP: Set signal mask
    520|0 1 3866643 3 4|TEST: sigpause() suspends execution
    520|0 1 3866643 3 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 3 6|ERROR: sigpause returned 0
    520|0 1 3866643 4 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 4 2|PREP: Fork child to test sig=19 (SIGCONT)
    520|0 1 3866643 4 3|PREP: Set signal mask
    520|0 1 3866643 4 4|TEST: sigpause() suspends execution
    520|0 1 3866643 4 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 4 6|ERROR: sigpause returned 0
    520|0 1 3866643 5 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 5 2|PREP: Fork child to test sig=8 (SIGFPE)
    520|0 1 3866643 5 3|PREP: Set signal mask
    520|0 1 3866643 5 4|TEST: sigpause() suspends execution
    520|0 1 3866643 5 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 5 6|ERROR: sigpause returned 0
    520|0 1 3866643 6 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 6 2|PREP: Fork child to test sig=1 (SIGHUP)
    520|0 1 3866643 6 3|PREP: Set signal mask
    520|0 1 3866643 6 4|TEST: sigpause() suspends execution
    520|0 1 3866643 6 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 6 6|ERROR: sigpause returned 0
    520|0 1 3866643 7 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 7 2|PREP: Fork child to test sig=4 (SIGILL)
    520|0 1 3866643 7 3|PREP: Set signal mask
    520|0 1 3866643 7 4|TEST: sigpause() suspends execution
    520|0 1 3866643 7 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 7 6|ERROR: sigpause returned 0
    520|0 1 3866643 8 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 8 2|PREP: Fork child to test sig=2 (SIGINT)
    520|0 1 3866643 8 3|PREP: Set signal mask
    520|0 1 3866643 8 4|TEST: sigpause() suspends execution
    520|0 1 3866643 8 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 8 6|ERROR: sigpause returned 0
    520|0 1 3866643 9 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 9 2|PREP: Fork child to test sig=13 (SIGPIPE)
    520|0 1 3866643 9 3|PREP: Set signal mask
    520|0 1 3866643 9 4|TEST: sigpause() suspends execution
    520|0 1 3866643 9 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 9 6|ERROR: sigpause returned 0
    520|0 1 3866643 10 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 10 2|PREP: Fork child to test sig=24 (SIGQUIT)
    520|0 1 3866643 10 3|PREP: Set signal mask
    520|0 1 3866643 10 4|TEST: sigpause() suspends execution
    520|0 1 3866643 10 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 10 6|ERROR: sigpause returned 0
    520|0 1 3866643 11 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 11 2|PREP: Fork child to test sig=11 (SIGSEGV)
    520|0 1 3866643 11 3|PREP: Set signal mask
    520|0 1 3866643 11 4|TEST: sigpause() suspends execution
    520|0 1 3866643 11 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 11 6|ERROR: sigpause returned 0
    520|0 1 3866643 12 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 12 2|PREP: Fork child to test sig=15 (SIGTERM)
    520|0 1 3866643 12 3|PREP: Set signal mask
    520|0 1 3866643 12 4|TEST: sigpause() suspends execution
    520|0 1 3866643 12 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 12 6|ERROR: sigpause returned 0
    520|0 1 3866643 13 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 13 2|PREP: Fork child to test sig=25 (SIGTSTP)
    520|0 1 3866643 13 3|PREP: Set signal mask
    520|0 1 3866643 13 4|TEST: sigpause() suspends execution
    520|0 1 3866643 13 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 13 6|ERROR: sigpause returned 0
    520|0 1 3866643 14 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 14 2|PREP: Fork child to test sig=21 (SIGTTIN)
    520|0 1 3866643 14 3|PREP: Set signal mask
    520|0 1 3866643 14 4|TEST: sigpause() suspends execution
    520|0 1 3866643 14 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 14 6|ERROR: sigpause returned 0
    520|0 1 3866643 15 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 15 2|PREP: Fork child to test sig=22 (SIGTTOU)
    520|0 1 3866643 15 3|PREP: Set signal mask
    520|0 1 3866643 15 4|TEST: sigpause() suspends execution
    520|0 1 3866643 15 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 15 6|ERROR: sigpause returned 0
    520|0 1 3866643 16 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 16 2|PREP: Fork child to test sig=16 (SIGUSR1)
    520|0 1 3866643 16 3|PREP: Set signal mask
    520|0 1 3866643 16 4|TEST: sigpause() suspends execution
    520|0 1 3866643 16 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 16 6|ERROR: sigpause returned 0
    520|0 1 3866643 17 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 17 2|PREP: Fork child to test sig=17 (SIGUSR2)
    520|0 1 3866643 17 3|PREP: Set signal mask
    520|0 1 3866643 17 4|TEST: sigpause() suspends execution
    520|0 1 3866643 17 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 17 6|ERROR: sigpause returned 0
    520|0 1 3866643 18 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 18 2|PREP: Fork child to test sig=26 (SIGTRAP)
    520|0 1 3866643 18 3|PREP: Set signal mask
    520|0 1 3866643 18 4|TEST: sigpause() suspends execution
    520|0 1 3866643 18 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 18 6|ERROR: sigpause returned 0
    520|0 1 3866643 19 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 19 2|PREP: Fork child to test sig=10 (SIGBUS)
    520|0 1 3866643 19 3|PREP: Set signal mask
    520|0 1 3866643 19 4|TEST: sigpause() suspends execution
    520|0 1 3866643 19 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 19 6|ERROR: sigpause returned 0
    520|0 1 3866643 20 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 20 2|PREP: Fork child to test sig=12 (SIGSYS)
    520|0 1 3866643 20 3|PREP: Set signal mask
    520|0 1 3866643 20 4|TEST: sigpause() suspends execution
    520|0 1 3866643 20 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 20 6|ERROR: sigpause returned 0
    520|0 1 3866643 21 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 21 2|PREP: Fork child to test sig=5 (SIGPOLL)
    520|0 1 3866643 21 3|PREP: Set signal mask
    520|0 1 3866643 21 4|TEST: sigpause() suspends execution
    520|0 1 3866643 21 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 21 6|ERROR: sigpause returned 0
    520|0 1 3866643 22 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 22 2|PREP: Fork child to test sig=32 (SIGPROF)
    520|0 1 3866643 22 3|PREP: Set signal mask
    520|0 1 3866643 22 4|TEST: sigpause() suspends execution
    520|0 1 3866643 22 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 22 6|ERROR: sigpause returned 0
    520|0 1 3866643 23 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 23 2|PREP: Fork child to test sig=29 (SIGXCPU)
    520|0 1 3866643 23 3|PREP: Set signal mask
    520|0 1 3866643 23 4|TEST: sigpause() suspends execution
    520|0 1 3866643 23 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 23 6|ERROR: sigpause returned 0
    520|0 1 3866643 24 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 24 2|PREP: Fork child to test sig=30 (SIGXFSZ)
    520|0 1 3866643 24 3|PREP: Set signal mask
    520|0 1 3866643 24 4|TEST: sigpause() suspends execution
    520|0 1 3866643 24 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 24 6|ERROR: sigpause returned 0
    520|0 1 3866643 25 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 25 2|PREP: Fork child to test sig=6 (SIGURG)
    520|0 1 3866643 25 3|PREP: Set signal mask
    520|0 1 3866643 25 4|TEST: sigpause() suspends execution
    520|0 1 3866643 25 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 25 6|ERROR: sigpause returned 0
    520|0 1 3866643 26 1|TEST: sigpause() removed signal from mask
    520|0 1 3866643 26 2|PREP: Fork child to test sig=31 (SIGVTALRM)
    520|0 1 3866643 26 3|PREP: Set signal mask
    520|0 1 3866643 26 4|TEST: sigpause() suspends execution
    520|0 1 3866643 26 5|TEST: sigpause() returns -1 and sets errno to EINTR
    520|0 1 3866643 26 6|ERROR: sigpause returned 0
    520|0 1 3866643 27 1|TEST: sigpause() removed signal from mask
    220|0 1 1 16:11:12|FAIL
    410|0 1 1 16:11:12|IC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We recommend this request be refused.

    We believe the test is correct, although the assertion
    text in the test is not accurate.

    BR 1170/35 addresses this issue and concludes that the
    issue is an ommission in the specification regarding sigpause.

    The associated corrigenda text has been issued that has modified the
    standard as follows:

    1170/35 Corrigenda Text

    Change the text of the Return Value section of the signal page by
    inserting before the last pararaph the following text.

    The function sigpause() suspends execution of the process
    until a signal is received, wereupon it returns -1 and sets
    errno to EINTR.


    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