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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1642 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 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:

     

    Back   


Contact the Certification Authority