|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1642 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 1642.
Report 1642 Actions
Problem Report Number 1642 Submitter's Classification Specification problem State Resolved Resolution Permanent Interpretation (PIN) Problem Resolution ID PIN.X.0199 Raised 2001-03-27 08:00 Updated 2003-03-13 08:00 Published 2001-03-29 08:00 Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSU version 5.1.1 Test Identification CAPI.os/streamio/fseek 2 3 Specification System Interfaces and Headers Issue 5 Location in Spec See Problem Text Linked Problem Reports PIN4U.00059, (in, old, system) Problem Summary PIN4U.00065 fseek() may set errno to ESPIPE instead of EPIPE. Problem Text
CAE Specifications for fseek says that EPIPE will be set in
errno, and the test looks for it, while VSX tests for fseek
and fsetpos functions look for ESPIPE. VSX tests seem to be based
on POSIX Specifications, which says that the error returned will
be based on the underlying function, which in this case is lseek.
This is probably an error in CAE Specifications which needs to
be changed. Code for the test cases need to be changed as well.
Ref: 1. VSX4.4.2, test cases - fsetpos #6 and fseek #12
2. POSIX - IEEE Standards 1003.1, System Application Program
Interface [ C Language ], section 6.5.3.3 (Returns).Test Output
************************************************************************
/tset/CAPI.os/streamio/fseek/T.fseek 2 Failed
Test Description:
Base Required Conformance
EPIPE in errno, return -1, and generate a SIGPIPE signal on a call to
int fseek(FILE *stream, long int offset, int whence) when the call
causes a call to write() which fails because an attempt is made to
write to a PIPE that only has one end open.
Test Information:
PREP: Catch SIGPIPE signal
PREP: Create pipe
PREP: Associate stream with write end of pipe
PREP: Enable full stream buffering
PREP: Write a buffer and a half worth of data
PREP: Close read end of pipe
TEST: fseek fails with EPIPE
ERROR: fseek failed, errno = 29(ESPIPE - Illegal seek)
TEST: fseek generates SIGPIPE
CLEANUP: Ignore SIGPIPE signals
CLEANUP: Shutdown pipe
CLEANUP: Reset signal handler
************************************************************************
************************************************************************
/tset/CAPI.os/streamio/fseek/T.fseek 3 Failed
Test Description:
Base Required Conformance
EPIPE in errno, return -1, and generate a SIGPIPE signal on a call to
int fseek(FILE *stream, long int offset, int whence) when the call
causes a call to write() which fails because an attempt is made to
write to a FIFO that only has one end open.
Test Information:
PREP: Catch SIGPIPE signal
PREP: Create fifo
PREP: Open read end of fifo
PREP: Associate stream with write end of pipe
PREP: Enable full stream buffering
PREP: Write a buffer and a half worth of data
PREP: Close read end of fifo
TEST: fseek fails with EPIPE
ERROR: fseek failed, errno = 29(ESPIPE - Illegal seek)
TEST: fseek generates SIGPIPE
CLEANUP: Ignore SIGPIPE signals
CLEANUP: Shutdown fifo
CLEANUP: Reset signal handler
************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
The XSH4.2 grey area identified in PIN4U.00059 still exists in XSH5,
so either a new PIN should be issued for XSH5, or the change that has
been agreed for XSH6 should be added to the XSH5 corrigenda (in which
case a TSD should be issued).
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:
- View Report 1642
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority