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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1152 Actions


    Problem Report Number 1152
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0354
    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.1
    Test Identification CAPIbase/readv 22
    Problem Summary PG4U.00116 This IR claims that ptys act differently and require data to be read before a tcdrain() completes.
    Problem Text
    This test was changed to use ptys, the previous version
    using ttys passed on our implementation. This test
    fails on our implementation because tcdrain() is different
    for ptys. The test forks a child process which
    writes some characters on the slave side, then does
    a tcdrain() which waits for character transmission
    to be completed. For ptys, completed transmission
    means that a read has been done on the characters
    on the master side, and the master sends an acknowlegment
    that all characters are read back to the slave. In this
    case, the transmission will never complete because there
    are no reads done on master side. In the meantime, the
    parent process is doing a wait which eventually times out
    and gives us the error. If the tcdrain() is removed from
    the test, it will complete and pass.

    Test Output
    TEST CASE: readv

    TEST PURPOSE #22
    A call to ssize_t readv(int fildes, const struct iovec
    *iov, int iovcnt) when the function is interrupted by
    a signal after it has successfully read some data
    shall return the number of bytes read.
    PREP: Read IOV_MAX system configuration
    PREP: Allocate and initialize I/O buffers
    PREP: Open and initialize the terminal files
    PREP: Write less than MIN bytes to the terminal
    ERROR: wait_for: Timed-out waiting for child to exit.
    PREP: Open and initialize the terminal files
    PREP: Interrupt the parent with a SIGINT
    TEST: An interrupted readv returns EINTR
    CLEANUP: Free iovec buffers
    22 FAIL

    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.

    Pseudo-terminals have the same behavior as terminals.

    The XBD describes a pseudo-terminal as follows:

    pseudo-terminal

    A pseudo-terminal provides the process with an interface that
    is identical to the terminal subsystem.

    The behavior of terminals is specified such that data can be written
    and transmitted prior to data being read. Section 9.1.5 Input
    Processing and Reading data states the following about the input
    queue:

    Each terminal device file has an input queue, associated with
    it, into which incoming data is stored by the system before
    being read by a process. The system may impose a limit,
    {MAX_INPUT}, on the number of bytes that may be stored in the
    input queue.

    In the test, the number of characters being written is far below
    POSIX_MAX_INPUT. Consequently, there should be no problem in transmitting
    the few characters into space available in input queue.

    We beleive the tcdrain() behavior described by the submitter is an
    implementation conformance issue.

    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