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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1917 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 1917.


Report 1917 Actions


    Problem Report Number 1917
    Submitter's Classification Specification problem
    State Resolved
    Resolution Temporary Interpretation (TIN)
    Problem Resolution ID TIN.X.0083
    Raised 1998-02-23 08:00
    Updated 2003-03-13 08:00
    Published 1998-02-26 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.4.2
    Test Identification POSIX.hdr/misc/signal.h 39
    Specification System Interfaces and Headers Issue 5
    Location in Spec See Problem Text
    Problem Summary TIN5.002 (signal.h, POSIX should allow symbols defined in time.h to be visible in the namespace when signal.h is included). The Base Working Group recommends a TIN on this issue while a PASC Interpretation req...
    Problem Text
    (signal.h, POSIX should allow symbols defined in
    time.h to be visible in the namespace when signal.h is included).

    The Base Working Group recommends a TIN on this issue
    while a PASC Interpretation request is filed with the
    recommendation that POSIX.1 allow the symbols in the <time.h>
    header to be visible when the <signal.h> header is included.

    The text of the request to be put forward to POSIX
    follows:

    Interp 2.
    signal.h should allow inclusion of time.h
    -------------------------------------------


    POSIX defines the sigtimedwait() function, which
    takes a const struct timespec * as one of it's arguments. This
    function is declared in the <signal.h> header. However, the
    synopsis for sigtimedwait() does not specify inclusion of
    <time.h> which is where the timespec structure is defined.

    Likewise, the sigtimedwait() description does not state any
    requirements for defining struct timespec, nor does it allow
    for the visibility of symbols in <time.h> when including
    <signal.h>. To include <signal.h> and not define struct
    timespec will result in compilers generating a warning about
    a dubious tag declaration for struct timespec.

    Though POSIX references <time.h> in the Cross-
    References and See Also sections respectively, and talks
    about the timespec structure in the text, there is no indication
    as to how one should go about making this visible.

    We propose the following solution:

    ================================================================================
    Add to the end of the paragraph on POSIX.1-1996, PXXXX, LYYY
    (description of <signal.h>):
    Inclusion of the <signal.h> header may make visible symbols
    allowed by this part of ISO/IEC 9945 to be in the <time.h>
    header.
    ================================================================================
    Test Output
    ************************************************************************
    /tset/POSIX.hdr/misc/signal/T.signal 39 Failed

    Test Description:
    For POSIX90 and FIPS modes:
    When _POSIX_SOURCE is defined and no other feature test macros are
    defined, no other symbols than those defined or reserved by
    POSIX.1-1990 are made visible.
    For POSIX96 mode:
    When _POSIX_C_SOURCE is defined with the value 199506L and no
    other feature test macros except _POSIX_SOURCE are defined, no
    other symbols than those defined or reserved by POSIX.1-1996 are
    made visible.
    For XPG4 mode:
    When _XOPEN_SOURCE is defined and no other feature test macros
    except _POSIX_SOURCE, _POSIX_C_SOURCE=1 or _POSIX_C_SOURCE=2 are
    defined, no other symbols than those defined or reserved by XPG4
    are made visible.
    For UNIX98 mode:
    When _XOPEN_SOURCE is defined with the value 500 and no other
    feature test macros except _POSIX_SOURCE or
    _POSIX_C_SOURCE<=199506L are defined, no other symbols than those
    defined or reserved by XSH5 are made visible.
    Posix Ref: Component C Language Definitions Assertion 2.7.2-05(B)

    Test Strategy:
    FOR each unreserved struct/union member made visible by the header
    DEFINE a macro which will cause an error if not protected from
    expansion
    UNDEFINE those macros which correspond to allowed member names
    INCLUDE a copy of the header file modified to identify #defines
    FOR each unreserved symbol made visible by the header
    VERIFY that the symbol name is in a list of allowed names

    Test Information:
    Compilation exited with non-zero value when expected to succeed
    Feature test macros: -D_XOPEN_SOURCE=500
    Compiler or run-time messages or results:
    "././signal.h.D", line 35267: syntax error before or at: "uc_flags
    unprotected"
    "././signal.h.D", line 35267: warning: syntax requires ";" after last
    struct/union member
    "././signal.h.D", line 35277: zero-sized struct/union
    "././signal.h.D", line 2501523: syntax error before or at: "tm_sec
    unprotected"
    "././signal.h.D", line 2501523: warning: syntax requires ";" after last
    struct/union member
    "././signal.h.D", line 2501532: zero-sized struct/union
    "././signal.h.D", line 2502101: syntax error before or at: "tv_sec
    unprotected"
    "././signal.h.D", line 2502101: warning: syntax requires ";" after last
    struct/union member
    "././signal.h.D", line 2502103: zero-sized struct/union
    "././signal.h.D", line 2502147: syntax error before or at: "it_interval
    unprotected"
    "././signal.h.D", line 2502147: warning: syntax requires ";" after last
    struct/union member
    "././signal.h.D", line 2502149: zero-sized struct/union
    TEST INFORMATION TRUNCATED BY -t OPTION
    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    A Temporary Interpretation pending the PASC interpretation request
    is recommended.

    Note that the appearance of uc_flags is permitted
    by a currently draft XSH 5 corrigenda and excluded from this TIN.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Temporary Interpretation (TIN)
    Review Conclusion
    A Temporary Interpretation is granted.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority