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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1375 Actions


    Problem Report Number 1375
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0657
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1996-10-21 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.1
    Test Identification CAPIbase/putpmsg 2
    Problem Summary TSD4U.00160 This test may fail on implementations that require the bandp argument to getpmsg() to be 0 if the flagsp argument is MSG_ANY.
    Problem Text
    In this test purpose putpmsg() is used to put messages
    on priority bands 0 - 4, and getpmsg() is used to
    retrieve those messages. When invoking getpmsg(), the
    flags argument is set MSG_ANY, and band to a number
    between 0 & 4, depending on the band on which the
    message has been put. According to the X/Open specs:

    If a process just wants to get the first message off
    the queue, the integer pointed to by flagsp should
    be set to MSG_ANY and the integer pointed to by
    bandp should be set to 0. On return, if the message
    retrieved was a high-priority message, the integer
    pointed to by flagsp will be set to MSG_HIPRI and
    the integer pointed to by bandp will be set to 0.
    Otherwise, the integer pointed to by flagsp will be
    set to MSG_BAND and the integer pointed to by bandp
    will be set to the priority band of the message.

    The standard does not talk about the situation where
    flagsp is MSG_ANY and the value of band is other than 0.
    On our implementation, if flagsp is MSG_ANY and band is
    not 0, getpmsg() call fails and sets errno to EINVAL.

    In the test purpose, since getpmsg() is invoked with
    flagsp set to MSG_ANY and band to a non-zero value,
    it fails. The test purpose exits with a FAIL error.
    Test Output
    TEST CASE: putpmsg

    TEST PURPOSE #2
    A call to int putpmsg(int fildes, const struct strbuf
    *ctlptr, const struct strbuf *dataptr, int band, int
    flags) when flags is MSG_BAND and either or both a
    control and data part of the message is specified
    shall send a message containing all specified parts to
    the STREAM associated with fildes in the priority
    specified by band.
    PREP: Create a pipe
    PREP: Set O_NONBLOCK on read end of STREAM
    TEST: Put a message on band 0 of the STREAM
    TEST: Message was sent
    TEST: Message was on band 0
    TEST: Control part was sent
    TEST: Data part was sent
    TEST: Put a message on band 1 of the STREAM
    TEST: Message was sent
    ERROR: getmsg failed, errno = 22(EINVAL - Invalid argument)
    2 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We agree this is a test suite deficiency in the test
    suite version(s) listed.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed Test Suite Deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority