|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2576 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 2576.
Report 2576 Actions
Problem Report Number 2576 Submitter's Classification Test Suite problem State Submitter Notified Resolution Rejected (REJ) (Unpublished) Problem Resolution ID No Resolution ID Given Raised 2012-03-24 00:17 Updated 2012-04-05 11:48 Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03) Certification Program The Open Brand certification program Test Suite VSX4 version 4.7.5 Test Identification ANSI.os/streamio/fflush/T.fflush 2 Specification Base Definitions Issue 6 Location in Spec http://pubs.opengroup.org/onlinepubs/007904875/functions/fflush.html Problem Summary ANSI.os/streamio/fflush/T.fflush 2 tests undefined behavior with input stream Problem Text The ISO C standard defines the behavior of fflush with a output or update stream whose most
recent operation was not input. The fflush 2 test performs fflush on an input stream, the
behavior of which is undefined according to ISO C.Test Output ************************************************************************
/tset/ANSI.os/streamio/fflush/T.fflush 2 Unresolved
Test Description:
For POSIX08 and UNIX10 mode:
fflush() causes the file pointer of the underlying file
description to be adjusted to address the byte after the last byte
read from or written to the stream being flushed.
For other test modes:
fflush() should cause the file pointer of the underlying file
description to be adjusted to address the byte after the last byte
read from or written to the stream being flushed.
Note: if the file pointer is not adjusted the test gives a Warning
result.
Test Information:
failed to fflush file ./fflush-t.2 after reading
************************************************************************Review Information
Review Type TSMA Review Start Date 2012-03-24 08:17 Last Updated 2012-03-26 17:19 Completed 2012-03-26 17:19 Status Complete Review Recommendation Rejected (REJ) Review Response SUSv3 section XSH 2.5.1 "Interaction of File Descriptors and Standard
I/O Streams" places a requirement on applications to call fflush() on an
input stream under certain circumstances. It is the last bullet item of
the list of requirements for the first handle:
"If the stream is open with a mode that allows reading and the
underlying open file description refers to a device that is capable of
seeking, the application shall either perform an fflush(), or the stream
shall be closed."
If the first handle is the stream and the second handle is the file
descriptor underlying the stream, the alternative of closing the stream
is not available and the application is required to call fflush() before
using the second handle.
It is an omission that the fflush() page does not specify the effect of
this fflush() call (which has been rectified in SUSv4). However, as a
consequence of applications being required to make the call, there is an
implicit requirement on implementations that the call does not fail.
In the test, if the fflush() call does not have the expected effect (as
specified in SUSv4) the test will give a Warning result in UNIX03 mode.
However, if the call fails then the test gives an Unresolved result,
which is justified given the above quote from 2.5.1.
To conform to SUSv3 the submitter needs, as a minimum, to change
fflush() so that the call in the test returns 0, in order that
conforming applications which make such calls do not encounter an
unexpected error.
Review Type SA Review Start Date 2012-03-27 01:19 Last Updated 2012-04-05 11:47 Completed 2012-04-05 11:47 Status Complete Review Resolution Rejected (REJ) Review Conclusion This request is rejected.
SUSv3 section XSH 2.5.1 "Interaction of File Descriptors and Standard
I/O Streams" places a requirement on applications to call fflush() on an
input stream under certain circumstances.
To conform to SUSv3 the submitter needs, as a minimum, to change
fflush() so that the call in the test returns 0, in order that
conforming applications which make such calls do not encounter an
unexpected error.
Refer to the TSMA review for details
Problem Reporting System Options:
- View Report 2576
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority