|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2018 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 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|FAILReview 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:
- View Report 2018
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority