|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1152 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 1152.
Report 1152 Actions
Problem Report Number 1152 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0354 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.1 Test Identification CAPIbase/readv 22 Problem Summary PG4U.00116 This IR claims that ptys act differently and require data to be read before a tcdrain() completes. Problem Text
This test was changed to use ptys, the previous version
using ttys passed on our implementation. This test
fails on our implementation because tcdrain() is different
for ptys. The test forks a child process which
writes some characters on the slave side, then does
a tcdrain() which waits for character transmission
to be completed. For ptys, completed transmission
means that a read has been done on the characters
on the master side, and the master sends an acknowlegment
that all characters are read back to the slave. In this
case, the transmission will never complete because there
are no reads done on master side. In the meantime, the
parent process is doing a wait which eventually times out
and gives us the error. If the tcdrain() is removed from
the test, it will complete and pass.
Test Output
TEST CASE: readv
TEST PURPOSE #22
A call to ssize_t readv(int fildes, const struct iovec
*iov, int iovcnt) when the function is interrupted by
a signal after it has successfully read some data
shall return the number of bytes read.
PREP: Read IOV_MAX system configuration
PREP: Allocate and initialize I/O buffers
PREP: Open and initialize the terminal files
PREP: Write less than MIN bytes to the terminal
ERROR: wait_for: Timed-out waiting for child to exit.
PREP: Open and initialize the terminal files
PREP: Interrupt the parent with a SIGINT
TEST: An interrupted readv returns EINTR
CLEANUP: Free iovec buffers
22 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.
Pseudo-terminals have the same behavior as terminals.
The XBD describes a pseudo-terminal as follows:
pseudo-terminal
A pseudo-terminal provides the process with an interface that
is identical to the terminal subsystem.
The behavior of terminals is specified such that data can be written
and transmitted prior to data being read. Section 9.1.5 Input
Processing and Reading data states the following about the input
queue:
Each terminal device file has an input queue, associated with
it, into which incoming data is stored by the system before
being read by a process. The system may impose a limit,
{MAX_INPUT}, on the number of bytes that may be stored in the
input queue.
In the test, the number of characters being written is far below
POSIX_MAX_INPUT. Consequently, there should be no problem in transmitting
the few characters into space available in input queue.
We beleive the tcdrain() behavior described by the submitter is an
implementation conformance issue.
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:
- View Report 1152
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority