Derivation: Portable Operating System Interface
- X
POSIX specifies whether the enclave can run with
the POSIX semantics.
POSIX is an application characteristic
that is maintained at the enclave level. After you have established
the characteristic during enclave initialization, you cannot change
it.
When you set POSIX to ON, you can use functions that are
unique to POSIX, such as pthread_create().
One
of the effects of POSIX(ON) is the enablement of POSIX signal handling
semantics, which interact closely with the Language Environment condition
handling semantics.
ANSI C programs
can access the z/OS UNIX file
System on MVS™ independent of
the POSIX setting. Where ambiguities exist between ANSI and POSIX
semantics, the POSIX runtime options, setting indicates the POSIX
semantics to follow.
- Non-CICS default
- POSIX=((OFF),OVR)
- CICS® default
- POSIX is ignored under CICS.
- AMODE 64 default
- POSIX=((OFF),OVR)
Syntax
.-OFF-. .-OVR----.
>>-POSIX--=--(--(--+-ON--+--)--,--+-NONOVR-+--)----------------><
- OFF
- Indicates that the application is not POSIX-enabled.
- ON
- Indicates that the application is POSIX-enabled.
- OVR
- Specifies that the option can be overridden.
- NONOVR
- Specifies that the option cannot be overridden.
Usage notes
- If you set POSIX to ON and you run non-thread-safe languages such
as PL/I and C++ in a
thread other than the initial thread, the behavior is undefined.
- If you set POSIX to ON when z/OS UNIX is not
active, the message file receives a warning, POSIX is set to OFF,
but the application continues to run.
- When you set POSIX to ON while an application is running under CICS, you receive a warning message,
POSIX is set OFF, and the application continues to run.
- Within nested enclaves, only one enclave can have the POSIX option
set to ON. All other nested enclaves must have the POSIX option set
to OFF. When nested enclaves are specifying the runtime option POSIX(ON)
within one Language Environment® process, Language Environment will display
a severity 3 error message and let abend U4039 occur with reason code
172.
For more information
- For more information about POSIX functions that have an z/OS UNIX kernel
dependency, or a POSIX ON dependency (especially for a failure where
the kernel dependency or the POSIX ON setting is not met), see z/OS XL C/C++ Runtime Library Reference.
- For more information about the INTERRUPT run-time option, see INTERRUPT.