|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0529 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 0529.
Report 0529 Actions
Problem Report Number 0529 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0148 Raised 2002-04-09 08:00 Updated 2003-03-13 08:00 Published null Product Standard Internationalised System Calls and Libraries (XPG4) Certification Program The Open Brand certification program Test Suite VSX4 version 4.4.5 Test Identification POSIX.os/ioprim/fcntl 6 Problem Summary PG4R.149 Starting in OS/390 Release 10 an implementation specific flag, O_LARGEFILE, is set on by default when the file is created by open(). This flag is still on after the fcntl() calls in these testcases, a... Problem Text
Starting in OS/390 Release 10 an implementation specific flag,
O_LARGEFILE, is set on by default when the file is created by open().
This flag is still on after the fcntl() calls in these testcases, and
the testcases aren't expecting this flag to be on.
From our fcntl.h:
#define O_LARGEFILE 0x0400
There is nothing in the spec that prevents an implementation from
having additional implementation specific flags such as this.
The testsuite should allow for this.Test Output
************************************************************************
/tset/POSIX.os/ioprim/fcntl/T.fcntl 6 Failed
Test Description:
A call to fcntl(fildes, F_SETFL, O_NONBLOCK) shall set the file status
flag O_NONBLOCK for fildes.
Posix Ref: Component FCNTL Assertion 6.5.2.2-10(A)
Test Strategy:
OPEN file with (O_CREAT | O_RDWR)
SET file status flags to O_NONBLOCK using fcntl(F_SETFL)
VERIFY fcntl(F_GETFL) returns (O_RDWR | O_NONBLOCK)
CLOSE file and OPEN it again (O_RDWR | O_NONBLOCK | O_APPEND)
SET file status flags to O_NONBLOCK using fcntl(F_SETFL)
VERIFY fcntl(F_GETFL) returns (O_RDWR | O_NONBLOCK)
Test Information:
fcntl(F_SETFL) did not set flags properly, fcntl(F_GETFL) returned
02007, expected 07
fcntl(F_SETFL) did not set flags properly, fcntl(F_GETFL) returned
02007, expected 07
************************************************************************
************************************************************************
/tset/POSIX.os/ioprim/fcntl/T.fcntl 7 Failed
Test Description:
A call to fcntl(fildes, F_SETFL, O_APPEND) shall set the file status
flag O_APPEND for fildes.
Posix Ref: Component FCNTL Assertion 6.5.2.2-11(A)
Test Strategy:
OPEN file with (O_CREAT | O_RDWR)
SET file status flags to O_APPEND using fcntl(F_SETFL)
VERIFY fcntl(F_GETFL) returns (O_RDWR | O_APPEND)
CLOSE file and OPEN it again (O_RDWR | O_NONBLOCK | O_APPEND)
SET file status flags to O_APPEND using fcntl(F_SETFL)
VERIFY fcntl(F_GETFL) returns (O_RDWR | O_APPEND)
Test Information:
fcntl(F_SETFL) did not set flags properly, fcntl(F_GETFL) returned
02013, expected 013
fcntl(F_SETFL) did not set flags properly, fcntl(F_GETFL) returned
02013, expected 013
************************************************************************
************************************************************************
/tset/POSIX.os/ioprim/fcntl/T.fcntl 8 Failed
Test Description:
A call to fcntl(fildes, F_SETFL, O_APPEND|O_NONBLOCK) shall set the
file status flags O_NONBLOCK and O_APPEND for fildes.
A call to fcntl(fildes, F_SETFL, 0) shall clear the file status flags
for fildes.
Posix Ref: Component FCNTL Assertion 6.5.2.2-12(A)
Test Strategy:
OPEN file with (O_CREAT | O_RDWR)
SET file status flags to (O_NONBLOCK | O_APPEND) using fcntl(F_SETFL)
VERIFY fcntl(F_GETFL) returns (O_RDWR | O_NONBLOCK | O_APPEND)
CLOSE file and OPEN it again (O_RDWR | O_NONBLOCK | O_APPEND)
SET file status flags to 0 using fcntl(F_SETFL)
VERIFY fcntl(F_GETFL) returns O_RDWR
Test Information:
fcntl(F_SETFL) did not set flags properly, fcntl(F_GETFL) returned
02017, expected 017
fcntl(F_SETFL) did not set flags properly, fcntl(F_GETFL) returned
02003, expected 03Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
It is true that the specification does not prevent implementations from
having additional file status flags. However, the description of open()
says, `The file status flags and file access modes of the open file
description will be set according to the value of oflag.'
This seems to imply that only the file status flags passed in oflag
can be set, in which case an implementation which returns additional
flags from fcntl(F_GETFL) that were not set in the oflag argument to
open() (or in an fcntl(F_SETFL) call) does not comply with the
specification.
While the wording `according to the value' is perhaps not as clear as
it could be, it is difficult to see how any interpretation of those
words which allowed additional implementation-specific flags to be set
would not also allow additional standard flags (such as O_NONBLOCK)
to be set. Clearly the latter would be very undesirable.
Therefore I believe that the intention must be for the file status
flags to be set to those passed in oflag, and only those, and this
implementation does not comply with that requirement.
It is recommended that this request is refused.
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 0529
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority