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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1205 Actions


    Problem Report Number 1205
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0407
    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/poll 4
    Problem Summary PG4U.00060 This IR claims that poll() need not support the POLLRDNORM event flag if the fd being polled is not STREAMS based.
    Problem Text
    This IR claims that poll() need not support the POLLRDNORM event
    flag if the fd being polled is not STREAMS based.

    This assertion fails because the testcase assumes pipes are implemented
    using streams. This is not the case on our implementation. The XPG4 V2
    XSH spec on page 436 states the following:

    "POLLRDNORM Normal data(priority band equals 0) may be read without
    blocking. For STREAMS, this flag is set in revents even
    if the message is of zero length."

    The definition for POLLRDNORM includes the wording "priority band equals 0",
    priority bands are only discussed in section 2.5 STREAMS(page35). This
    indicates that use of POLLRDNORM is restricted to STREAMS devices.
    Test Output
    TEST CASE: poll

    TEST PURPOSE #4
    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 POLLRDNORM
    flag is set in the events member and normal data can
    be read without blocking from the file descriptor
    specified by the fd member and set the POLLRDNORM flag
    in the corresponding revents member when found.
    PREP: Create two pipes
    PREP: Write data into one of the pipes
    TEST: poll returns number for selected file descriptors
    ERROR: poll returned incorrect value
    Expected 1
    Received 0
    4 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.

    We believe the test is correct.

    The XSH poll spec states:

    The poll() function provides applications with a
    mechanism for multiplexing input/output over a set
    of file descriptors.

    These file descriptors may represent

    The poll() function supports regular files, terminal
    and pseudo-terminal devices, STREAMS-based files,
    FIFOs and pipes.

    It further mandates that

    fd specifies an open file descriptor and
    events and revents are bitmasks constructed by OR-
    ing a combination of the following event flags:

    ...

    POLLRDNORM Normal data (priority band equals 0)
    may be read without blocking. For
    STREAMS, this flag is set in revents
    even if the message is of zero
    length.

    We believe this requires poll() to support POLLRDNORM and
    all the other event flags listed in the poll spec for all file
    descriptors no matter what they represent.

    The specification imposes additional requirements as they relate
    to STREAMS, but those requirements do not override the general
    semantics that apply for all supported file descriptor types.

    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