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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1591 Actions


    Problem Report Number 1591
    Submitter's Classification Specification problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0148
    Raised 1995-12-01 08:00
    Updated 2003-03-13 08:00
    Published 1995-12-05 08:00
    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 CAPI.os/ioprim/close 12
    Specification System Interfaces and Libraries Issue 4 Version 2
    Location in Spec See Problem Text
    Problem Summary PIN4U.00014 This test may fail on implementations that exhibit behavior allowed by BR# 1170/148.
    Problem Text
    This test may fail on implementations that exhibit behavior allowed by
    BR# 1170/148.

    This was accepted as base resolution 1170/148.
    ------------------------------------------------------

    Page 92 of the XSH describes close's action on a psuedo-terminal as

    If fildes refers to the master side of a pseudo-
    terminal, a SIGHUP signal is sent to the process
    group, if any, for which the slave side of the
    pseudo-terminal is the controlling terminal. It is
    unspecified whether closing the master side of the
    pseudo-terminal flushes all queued input and output.

    The test suite provider has, understandably, taken the standpoint that
    this means that everytime a close occurs a SIGHUP signal is sent. We
    are sure that this could not have been meant. If this were so then
    every application that runs detached with a psuedo-terminal as the
    controlling terminal would be terminated when the forking process
    dissasociated itself from its children. What is probably missing from
    the specification at this point is the same language as was included
    for pipes.

    If the implementation supports STREAMS-based pipes,
    and fildes is associated with one end of a pipe, the
    last close() causes a hangup to occur on the other
    end of the pipe.

    If this language, with the pipe reference replace with
    psuedo-terminal, were included the specification would match the
    historical behavior.
    Test Output
    TEST CASE: close

    TEST PURPOSE #12
    A successful call to int close(int fildes) when fildes
    refers to the master side of a pseudo-terminal shall
    cause a SIGHUP signal to be sent to the process group,
    if any, for which the slave side of the
    pseudo-terminal is the controlling terminal.
    PREP: Open master side of pseudo terminal
    PREP: Create session
    PREP: Open slave side as controlling terminal
    PREP: Create child process in session
    PREP: Capture SIGHUP signals in child
    TEST: Await a SIGHUP in the child
    PREP: Capture SIGHUP signals in session leader
    TEST: Await a SIGHUP in session leader
    TEST: Close of master sends SIGHUP to slave side session
    ERROR: Processes in session timed out awaiting SIGHUP
    12 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    A permanent interpretation is recommended.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Permanent Interpretation (PIN)
    Review Conclusion
    A Permanent Interpretation is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority