HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 0468 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 0468.


Report 0468 Actions


    Problem Report Number 0468
    Submitter's Classification Specification problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0087
    Raised 1994-08-08 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.3.4
    Test Identification POSIX.os/ioprim/fcntl 5, 6, 7, 8
    Problem Summary PG4R.088 The test for the flags returned by fcntl() is insufficient if fcntl() returns flags not specifically required by the POSIX standard. Our implementation of fcntl(F_GETFL) will return O_CREAT, O_EXCL, O...
    Problem Text
    The test for the flags returned by fcntl() is insufficient if fcntl()
    returns flags not specifically required by the POSIX standard. Our
    implementation of fcntl(F_GETFL) will return O_CREAT, O_EXCL,
    O_NOCTTY, and/or O_TRUNC if the flags were specified on the open().
    In the example given, fcntl(F_GETFL) returned O_RDWR and O_NONBLOCK as
    expected by the test case but it also returned O_CREAT (0200).

    The test should be made more portable by not expecting that only
    O_CREAT and O_RDWR are returned. Similar problems exist in other
    tests. The following tests either fail or are unresolved because
    fcntl() does not expect additional flags such as O_CREAT to be
    returned:

    POSIX.os/ioprim/fcntl/T.fcntl 5 Unresolved
    POSIX.os/ioprim/fcntl/T.fcntl 6 Failed
    POSIX.os/ioprim/fcntl/T.fcntl 7 Failed
    POSIX.os/ioprim/fcntl/T.fcntl 8 Failed
    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
    0207, expected 07
    fcntl(F_SETFL) did not set flags properly, fcntl(F_GETFL) returned
    0207, expected 07

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The behaviour of this implementation is not considered to be compliant with
    XPG4. The description of fcntl() in XSH4 states that fcntl(F_GETFL) returns
    the `file status flags and file access modes, defined in <fcntl.h>'. In the
    description of <fcntl.h> the file status flags are stated to be O_APPEND,
    O_NONBLOCK and O_SYNC, and the file access modes to be O_RDONLY, O_RDWR
    and O_WRONLY. The implementation is including O_CREAT, which is neither
    a status flag nor an access mode, in the return value.

    It is recommended that this request be 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:

     

    Back   


Contact the Certification Authority