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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1634 Actions


    Problem Report Number 1634
    Submitter's Classification Specification problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0191
    Raised 1998-05-11 08:00
    Updated 2003-03-13 08:00
    Published 1998-06-02 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.0.2
    Test Identification CAPI.os/ioprim/poll 12
    Specification System Interfaces and Headers Issue 5
    Location in Spec See Problem Text
    Problem Summary PIN4U.00057 A chnage to the spec is requested.
    Problem Text

    The description of POLLWRBAND in XSH4v2's description of the poll()
    function was:
    POLLWRBAND Priority data (priority band greater than 0)
    may be written.

    This meant that poll would always set the POLLWRBAND flag unless all
    255 priority bands were flow controlled.

    In practice, once a band had been written on SVR4.2 systems,
    POLLWRBAND only looked at bands that had been written, so SVR4.2 systems
    failed the original UNIX 95 tests.
    They got a waiver and a resolution was passed that resulted in
    the wording in XSH5:
    POLLWRBAND Priority data (priority band greater than 0)
    may be written. This event only examines bands
    that have been written to at least once.

    Although the test suite is testing this wording, we believe that this
    wording is more restrictive than was intended. We believe the intent
    was that POLLWRBAND flag should be set for any STREAMS file descriptor
    that has not yet had ANY priority band written to, or that can be
    written to on at least one band that has been written to.

    In practice, the SVr4 derived poll() implementations set POLLWRBAND
    for any STREAMS file descriptor before ANY priority band has been
    set (and for that reason fail this UNIX 98 test). After any priority
    band has been written to, they do set POLLWRBAND inspecting only
    bands that have been written to once.
    This behavior is important from the way application code is
    structured in general when used with poll(). Also, since most
    applications use only one priority band, this simple structure is
    sufficient to detect when they can write to a priority band.

    Applications that initialize communications channels to other processes
    want to be able to set up the STREAMS then set up a loop passing out
    requests on available channels. The test suite would require all of
    these applications to change to initialize the channels and use each
    channel once before going into the loop. This makes the initialization
    much harder for no gain for the applications.

    We request that a corrigenda or resolution be passed changing the last
    sentence of the XSH5 POLLWRBAND description from "This event only
    examines bands that have been written to at least once." to "If any
    priority band has been written to on this STREAM, this event only
    examines bands that have been written to at least once.".

    If such a change is eventually made, applications which rely on
    historic poll() behavior will not have to be changed and existing
    working applications will operate with XSH5 poll without any
    modifications.

    Test Output
    TEST CASE: poll

    TEST PURPOSE #12
    A successful call to int poll(struct pollfd fds[],
    nfds_t nfds, int timeout) shall examine each element
    of the fds array for instances where the POLLWRBAND
    flag is set in the events member and data for a
    priority band greater than 0 which has been written to
    at least once can be written to the file descriptor
    specified by the fd member without blocking and shall
    set the POLLWRBAND flag in the corresponding revents
    member when found.
    PREP: Create two streams
    PREP: Open master pseudo tty
    PREP: Determine if pseudo tty is a stream
    PREP: Open slave side of pseudo tty
    PREP: Initialize the file descriptors and event structure
    TEST: poll returns correctly when no data has been written
    ERROR: poll returned incorrect value
    Expected 0
    Received 1

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We recommend this issue be referred to the Base Work Group and a
    Temporary Interpretation be granted.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution No Resolution Given
    Review Conclusion
    To expedite this issue, we recommend a Temporary Interpretation
    together with a 14 day review by the Base Working Group.

    Review Type Expert Group Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution No Resolution Given
    Review Conclusion
    A Permanent Interpretation should be granted. This issue should
    be considered for a future revision of the specification.


    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