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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1627 Actions


    Problem Report Number 1627
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0184
    Raised 1998-02-19 08:00
    Updated 2003-03-13 08:00
    Published 1998-02-27 08:00
    Product Standard Sockets (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.0.2
    Test Identification CAPI.os/streams/getmsg 41
    Specification Networking Services Issue 4
    Location in Spec See Problem Text
    Problem Summary PIN4U.00050 Due to a specification change a high priority message will be discarded if received when one is already in the queue. Applies to UNIX98 mode only.
    Problem Text

    These tests were the subject of a recent base wg resolution: In
    which the working group stated the correct behavior for the
    streams message queue is:

    "High priority messages are always placed at the head of the queue,
    but will be discarded if there is already a high-priority message
    in the queue."

    Our implementation does this. The test fail because they
    expect two high-priority messages to be placed on the queue.
    From fgetmsg41.c

    flags = MSG_HIPRI;
    if((result = putpmsg(fildes[1], &ctl, &data, band, flags)) == -1)
    .
    .
    flags = MSG_HIPRI;
    if ((result = putpmsg(fildes[1], &ctl, &data, band, flags)) == -1)
    .
    .
    if ((result = getmsg(fildes[0], &ctl, &data, &flags)) < 0)

    The tests then expect the second msg to be on the queue, which it
    is not.

    The putpmsg code is similiar.
    Test Output
    TEST CASE: getmsg

    TEST PURPOSE #41
    After a message is put back on the queue as a result
    to a call to int getmsg(int fildes, struct strbuf
    *ctlptr, struct strbuf *dataptr, int *flagsp) which
    consumes the control part of a high priority, if a
    priority message already exists on the STREAM head, a
    subsequent call to getmsg or getpmsg shall retrieve
    the higher-priority message before retrieving the
    remainder of the message that was put back.
    PREP: Create a pipe
    PREP: Determine if pipe is a stream
    INFO: Pipes are not STREAMs on this implementation
    PREP: Open 2 spx drivers and create pipe
    PREP: Set O_NONBLOCK on read end of STREAM
    PREP: Put a high priority message on the STREAM
    PREP: Put a second high priority message
    PREP: Read the control part of the message
    TEST: The second high prioriy message is retrieved first by getmsg
    ERROR: Data not put in buffer
    Expected 72('H')
    Received 68
    41 FAIL

    TEST CASE: getpmsg

    TEST PURPOSE #42
    After a message is put back on the queue as a result
    to a call to int getpmsg(int fildes, struct strbuf
    *ctlptr, struct strbuf *dataptr, int *bandp, int
    *flagsp) which consumes the control part of a high
    priority, if a priority message already exists on the
    STREAM head, a subsequent call to getmsg or getpmsg
    shall retrieve the higher-priority message before
    retrieving the remainder of the message that was put
    back.
    PREP: Create a pipe
    PREP: Determine if pipe is a stream
    INFO: Pipes are not STREAMs on this implementation
    PREP: Open 2 spx drivers and create pipe
    PREP: Set O_NONBLOCK on read end of STREAM
    PREP: Put a high-priority message on the STREAM
    PREP: Put a second high priority message
    PREP: Get the control portion of the first message from STREAM
    TEST: The second high priority message is retrieved first
    ERROR: Data not put in buffer
    Expected 72('H')
    Received 68
    42 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 to align with BR XSH/6. This
    should apply in UNIX98 mode only.

    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