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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2018 Actions


    Problem Report Number 2018
    Submitter's Classification Specification problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0245
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published 1998-03-22 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSTH version 5.1.2
    Test Identification PTHR.os/all/sysconf 1, 2, 4
    Specification System Interfaces and Headers Issue 5
    Location in Spec See Problem Text
    Problem Summary PIN5TH.00001 In each case, the test suite is interpreting the "-1" return as an indication that the specified facilty is not supported. In our implementation, "-1" means that the specified value is not limited by ...
    Problem Text
    In each case, the test suite is interpreting the "-1" return as an
    indication that the specified facilty is not supported. In our
    implementation, "-1" means that the specified value is not limited
    by the implementation.

    The following request has been submitted to the POSIX Interpretations
    Committee:

    ------
    Dear Interpretations Committee,

    I would like to request an official binding interpretation of IEEE
    Std 1003.1-1996 (POSIX.1). This request deals with the return
    value of the sysconf(int name) function when the value of the system
    variable selected by "name" is not limited by the implementation.

    Currently the standard says (4.8.1.3, p. 112, l. 491 ff.):

    If name is an invalid value, sysconf() shall return -1. ...

    Otherwise, the sysconf() function returns the current variable
    value on the system. The value returned shall not be more restrictive
    than the corresponding value described to the application when it was
    compiled with the implementation's <limits.h> or <unistd.h> ...

    The standard as published does not address the case where the current variable
    is not limited by <limits.h> or <unistd.h>, as is the case for one or more
    variables in our implementation.

    The POSIX.1 committee has, however, added the following sentence to section
    4.8.1.3 in the latest (D13.2) version of the POSIX.1a draft:

    If the value corresponding to name has no limit, the sysconf() function
    shall return a value of -1 without changing errno.

    This is how our implementation behaves, and we ask the committee to verify
    that such an implementation is compliant with the standard.

    Thank you for your attention to this matter.

    ----

    The Committee has agreed, in defect report IS9945-1#83, that the
    standard does not speak to this issue and no comformance distinction
    can be made between different implementations thereof. Our
    results are covered by that interpretation.

    Test Output

    520|224 1 00009959 1 1|A call to sysconf(_SC_THREAD_DESTRUCTOR_ITERATIONS)returns a
    520|224 1 00009959 1 2|value for the system variable PTHREAD_DESTRUCTOR_ITERATIONS
    520|224 1 00009959 1 3|which is not more restrictive than the value
    520|224 1 00009959 1 4|_POSIX_THREAD_DESTRUCTOR_ITERATIONS.
    520|224 1 00009959 1 5|Posix Ref: Component SYSCONF
    520|224 1 00009959 1 6|Assertion 9945-1:1996 4.8.1.2, 9945-1:1996 4.8.1.3-1(A)
    520|224 1 00009959 1 7|Unexpected value for _SC_THREAD_DESTRUCTOR_ITERATIONS -1
    220|224 1 1 18:03:40|FAIL

    520|224 2 00009959 1 1|A call to sysconf(_SC_THREAD_KEYS_MAX) returns a value
    520|224 2 00009959 1 2|for the system variable PTHREAD_KEYS_MAX which is not more
    520|224 2 00009959 1 3|restrictive than the value _POSIX_THREAD_KEYS_MAX.
    520|224 2 00009959 1 4|Posix Ref: Component SYSCONF
    520|224 2 00009959 1 5|Assertion 9945-1:1996 4.8.1.2-2(A)
    520|224 2 00009959 1 6|Unexpected value for _SC_THREAD_KEYS_MAX -1
    220|224 2 1 18:03:40|FAIL

    520|224 4 00009959 1 1|A call to sysconf(_SC_THREAD_THREADS_MAX) returns a value
    520|224 4 00009959 1 2|for the system variable PTHREAD_THREADS_MAX which is not
    520|224 4 00009959 1 3|more restrictive than the value _POSIX_THREAD_THREADS_MAX.
    520|224 4 00009959 1 4|Posix Ref: Component SYSCONF
    520|224 4 00009959 1 5|Assertion 9945-1:1996 4.8.1.2-4(A)
    520|224 4 00009959 1 6|Unexpected value for _SC_THREAD_THREADS_MAX -1
    220|224 4 1 18:03:40|FAIL




    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The applicant's rationale for this behavior of sysconf is consistent with the
    behavior documented in XSH5 of pathconf and fpathconf. We also note that
    POSIX.1 1996 describes the _POSIX_THREAD_THREADS_MAX, _POSIX_THREAD_KEYS_MAX
    and _POSIX_THREAD_DESTRUCTOR_INTERATIONS are possibly indeterminate values.

    However, the XSH5 documentation for sysconf, on page 914 , states that:
    "If the variable corresponding to name is associated with functionality that
    is not supported by the system, sysconf() returns -1 without changing the value
    of errno."

    We therefore recommend that a PIN be granted on the basis of a grey area in
    the specification and that the statement on page 914 of the XSH5 document
    be changed to clearly state that sysconf() shall return -1 without
    changing errno when the value of name is indeterminate.


    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