|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1109 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 1109.
Report 1109 Actions
Problem Report Number 1109 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0311 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSU version 5.0.3 Test Identification CAPIbase/sigaction 32 Problem Summary PG4U.00162 This request questions the change made a result of TSD 227. Problem Text
In TSD4U.00227 the consultants stated the following:
" Our analysis of the failure indicates the problem is that the getpmsg code
has a typo which renders it ineffective. Specifically:
if ((result = getpmsg(fildes[0],&ctl,&data,&band,&flags)) == -1)
break;
is intended to break out of the loop once the message is received
but is incorrectly coded and actually breaks out of the loop if
the message is not present. The code should be:
if ((result = getpmsg(fildes[0],&ctl,&data,&band,&flags)) != -1)
break;
We recommend a Test Suite Deficiency be granted for this problem."
We disagree with this change. On page 346 of the XPG5 XSH it states the
following:
"RETURN VALUE
Upon successful completion, getmsg() and getpmsg() return a non-negative
value. A value of 0 indicates that a full message was read successfully.
.
.
.
Upon failure, getmsg() and getpmsg() return -1 and set errno to indicate
the error."
If the message is ready to be received on the first getpmsg() call, then
a return value of zero will be received. This will break out of the for
loop. No SIGPOLL will have been generated because the getpmsg() was
successful. The loop needs to be executed until getpmsg() returns -1,
this will generate the SIGPOLL.
Test Output
TEST PURPOSE #32
After a call to int sigaction(int sig, const struct
sigaction *act, struct sigaction *oact) with
SA_SIGINFO set in the sa_flags member of the sigaction
structure pointed to by act and sig equal to SIGPOLL,
on entry to the signal catching function specified by
the sa_sigaction member when output buffers are
available the si_code member of the structure pointed
to by the siginfo argument shall contain POLL_OUT and
the si_band member shall contain the band event.
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 up action for SIGPOLL
PREP: Register for SIGPOLL
PREP: Set O_NONBLOCK on read and write end of STREAM
PREP: Generate SIGPOLL
ERROR: SIGPOLL was not generated
32 FAILReview 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.
The SIGPOLL in this test is generated due to the availability of output
buffers for sending data on the end of the STREAM where the message is
placed by putpmsg(). The getpmsg() call(s) do not generate the signal,
the purpose is just to ensure the message has transited completely so the
signal is generated from the other end. As such we want to break from
the loop when the message is received, i.e. the change to the test is correct.
We also note that the component name given here is Internationalised System
Calls and Libraries Extended V2 which is a UNIX98 component, however the
submitter has modified VSU's STREAMs test code in capi_user/sreflect.c
which is only allowed for UNIX95 branding. As such the results given
here are not valid for branding and thus a TSD could not be granted for
them in any event.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
This request is refused. It really appears to be a support request.
Problem Reporting System Options:
- View Report 1109
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority