|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1375 Details
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 FAILReview 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:
- View Report 1375
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority