_BPXK environment variables

A partial list of the _BPXK environment variables is as follows.

_BPXK_AUTOCVT
Used when enabling automatic conversion of tagged files. When set, this variable overrides the AUTOCVT setting in BPXPRMxx.

For fork (BPX1FRK/BPX4FRK), spawn (BPX1SPn/BPX4SPN), exec (BPX1EXC/BPX4EXC), and pthread_create (BPX1PTC/BPX4PTC), _BPXK_AUTOCVT is propagated from the parent to the child. For pthread_create, the parent is the Initial Program Task (IPT).

ON
Activates the automatic file conversion of tagged files. This option affects conversion for I/O for regular, pipe, and character-special files that are tagged.
OFF
Deactivates the automatic file conversion of tagged files. OFF is the default.
ALL
Activates the automatic conversion of tagged files that are supported by Unicode Services. This option affects conversion for I/O for regular and pipe files that are tagged. Setting or unsetting ALL has no effect after translation for a file begins. If the conversion is between EBCDIC and ASCII, this option also affects conversion for I/O for character special files.
_BPXK_CCSIDS
Defines an EBCDIC/ASCII pair of valid coded character set IDs (CCSIDs) to be used when automatically converting data or tagging new files. For example:
_BPXK_CCSIDS=(1234,5678)
_BPXK_DAEMON_ATTACH
Attaches the security environment of the caller of either the setuid(), seteuid(), or setreuid() services to the security environment of the target UID. This combined security environment is called a nested ACEE. Using the nested ACEE, the new client identity can then access RACF® delegated resources to which only the caller (for example, a daemon), but not the client, is permitted. A RACF-protected resource is delegated if the profile protecting the resource has the string 'RACF-DELEGATED' in the application data (APPLDATA) field. For more information, see Defining delegated resources in z/OS Security Server RACF Security Administrator's Guide.
YES
Attaches the security environment of the caller of either the setuid(), seteuid(), or setreuid() services to the security environment of the target UID. The new client identity can then access MVS™ resources that are protected by profiles with
APPLDATA('RACF-DELEGATED')
NO
Security environments are built the way that they normally are. NO is the default.
_BPXK_DISABLE_SHLIB
Specifies whether normal system shared library program processing is enabled (NO) or disabled (YES) for a process.
YES
System shared libraries are disabled. When loading a program with the system shared library extended attribute (st_sharelib), the attribute is ignored and the program is loaded into the caller's private storage. Virtual storage is not allocated from the caller's region for system shared libraries.
NO
System shared libraries are enabled, with normal processing of system shared library programs. NO is the default setting.
Note:
  1. The scope of _BPXK_DISABLE_SHLIB scope is process-wide.
  2. In a multiple process address space, each process must disable system shared libraries to prevent SHRLIBREGSIZE bytes from being allocated from the caller's region. All processes in the same address space share the same region.
  3. The _BPXK_DISABLE_SHLIB setting is propagated on both fork and spawn from the parent to the child process.
  4. The z/OS UNIX spawn (BPX1SPN), exec (BPX1EXC and BPX1ATX) and oe_env_np (BPX1ENV) services have support for _BPXK_DISABLE_SHLIB.
  5. The use of the_BPXK_DISABLE_SHLIB environment variable disables the sharing of storage for system shared libraries and can increase the amount of real or auxiliary storage consumed.
_BPXK_FORCE_CANCEL
Controls the behavior of the pthread_cancel() service for the scope of the process that sets this environment variable.
YES
Specifies that the pthread_cancel() service is to cancel the target thread even if it is not in a normally cancelable state. To accomplish this task, the pthread_cancel() service can wait up to three seconds to ensure that the targeted thread is terminated. If the normal signal mechanism does not terminate the thread in that time, then the nonresponding thread is terminated with a 422 ABEND, reason code 1A0. The threads that can be canceled with this setting include:
  • Threads that are waiting but do not use a z/OS® UNIX service to enter the wait.
  • Threads that are running in an MVS service other than one provided by z/OS UNIX.
  • Threads that are running with a non-z/OS UNIX linkage stack entry at the top of the stack

This environment variable does not override the interruptability state set by pthread_setintr() or the interruptability type set by pthread_setintrtype(). The behavior for a thread that has been created but not yet assigned to a task control block (TCB) is not affected by this environment variable. The cancel remains pending and is delivered when the thread is assigned to a TCB. Threads that are waiting in a z/OS UNIX service that is not defined as a cancellation point are also not affected by this environment variable. See the usage notes in pthread_setintr (BPX1PSI, BPX4PSI) — Examine and change the interrupt state in z/OS UNIX System Services Programming: Assembler Callable Services Reference for the definition of thread cancellation points.

NO
Specifies that the pthread_cancel() service retains the existing behavior. NO is the default.
_BPXK_GPSENT_SECURITY
The w_getpsent() service (BPX1GTH/BPX4GTH) can use the thread-level identity that is created by the pthread_security_np() service when it checks the ownership of process information.
THREAD
Any thread that is running in the invoking process uses the thread-level identity that is created by pthread_security_np(), if any exists, when it processes the w_getpsent() service. Task-level identities that are not created by pthread_security_np() continues to be ignored by w_getpsent().
PROCESS
w_getpsent() ignores the thread-level identity and uses the process-level identity. PROCESS is the default.
_BPXK_INITTAB_RESPAWN
Specifies whether a process is to be dynamically started with the respawn attribute.
YES
Specifies that a process is to be started with the respawn attribute. Setting the YES attribute after the process has started does not affect the setting of the respawn attribute. If a process is started by a spawn with _BPXK_INITTAB_RESPAWN=YES (set by an export shell command, for example), the shell invokes the target program. The program will be automatically restarted when it ends, even if it was not originally started from the /etc/inittab file.

To set the variable to YES, you must have superuser authority.

NO
Disables the respawn capability of the process.

The NO setting must be set by an application (by a putenv call, for example), while it is running.

You can choose the NO setting to allow for a problem to be fixed if one forced the application to end. Doing so prevents the application from being restarted automatically again with the same problem.

_BPXK_JOBLOG
Specifies whether WTO messages are to be written to an open job log file. For more information about setting _BPXK_JOBLOG, see Writing messages to a job log file.
nn
The job log messages are to be written to open file descriptor nn.
NONE
Job log messages are not written. NONE is the default.
STDERR
Messages are written to the standard error file descriptor, 2.
_BPXK_MDUMP
Specifies whether a SYSMDUMP is to be written to the current working directory or an MVS data set.
OFF
The dump is written to the current working directory. OFF is the default.

This dump is written only if the user allocates a SYSMDUMP data set for the TSO/E session. The system creates a file in the user's working directory, names it coredump.pid, where pid is the process ID for the process that is being dumped, and writes the core dump (SYSMDUMP) in hexadecimal format.

MVS data set name
The dump is written to an MVS data set. The data set name can be up to 44 characters long. It can also be uppercase or lowercase. If it is lowercase or mixed case, the data set name is folded to uppercase.

The data set name must be a fully qualified name. It must also be preallocated and cataloged.

z/OS UNIX name
The dump is written to a z/OS UNIX file. The file name can be up to 1024 characters long.

The file name must be an absolute path name; that is, it must begin with a slash. The slash refers to the root directory, and the file is created in that directory.

_BPXK_PCCSID
Identifies the program CCSID for the running thread or user. It can be used to override the internal default of 1047 (EBCDIC). Any value between 0 and 65535 can be assigned, but to avoid any subsequent errors, only values that are supported by Unicode Services should be used. Setting or unsetting this variable has no effect after translation for a file begins. When unset, the internal value of the program CCSID reverts to the default of 1047.
_BPXK_SETIBMOPT_TRANSPORT
Used in a Common INET configuration to choose a socket stack for a program.
_BPXK_SUID_FORK
Specifies whether the setuid indicator is propagated to a child address space that was created by a fork process.
YES
The setuid indicator is propagated to child processes that were created by a fork process. If those children perform a job step exec, it is treated as a new job exec. A new job exec updates job-related attributes to match the RACF identity.
NO
The setuid indicator is not propagated to child processes that were created by a fork process. A job-step exec from the child will not be a new job exec. NO is the default.
_BPXK_TECHNIQUE
Specifies the Unicode Services conversion technique to use for the I/O conversion operation. Setting or unsetting this variable has no effect after conversion of the file starts. If _BPXK_TECHNIQUE is not specified, the default is LMREC.
R
Roundtrip
E
Enforced subset
C
Customized subset
L
Language Environment® behavior
M
Modified for special use
0-9
User-defined conversions
_BPXK_TIMEOUT
Specifies whether the process should time out or not.
SMF
Uses the JWT|TWT|SWT values specified in SMFRMxx.
NONE
Specifies that this process is not to be timed out.
The timeout value that is used is the SMF settings for JWT/TWT/SWT. The _BPXK_TIMEOUT variable is ignored when PWT is set to SMF. It is honored when BPXPRMxx PWT is set to ENV or SMFENV.
_BPXK_UNICODE_TECHNIQUE
Specifies the Unicode Services conversion technique to use for the I/O translation operation. Setting or unsetting this variable has no effect after translation for a file starts. If _BPXK_UNICODE_TECHNIQUE is not specified, the Unicode Services default applies. Any eight of the following characters techniques can be specified. Do not specify spaces or commas.
R
Roundtrip
E
Enforced subset
C
Customized subset
L
Language Environment behavior
M
Modified for special use
0-9
User-defined conversions
_BPXK_UNICODE_MAL
Specifies the Unicode Services substitution action to take for the translation operation when a source character is malformed. Setting or unsetting this variable has no effect after translation for a file begins. _BPXK_UNICODE_SUB must be YES for this option to apply. F
NO
Unicode Services performs the substitution action. NO is the default.
YES
Unicode Services and, therefore z/OS UNIX, terminates the I/O with an error. _BPXK_UNICODE_SUB must be YES for this option to apply. YES is the default.
_BPXK_UNICODE_SUB
Specifies the Unicode Services substitution action to take for I/O translation operation when a source character is not convertible to a target character. Setting or unsetting this variable has no effect after translation for a file begins.
NO
Instructs Unicode Services and, therefore z/OS UNIX, to terminate the I/O with an error. NO is the default.
YES
Instructs Unicode Services to place a substitute character in the output buffer.
_BPXK_UNUSEDTASKS
Specifies whether to keep pthreads in a wait.
KEEP
Do not limit the number of pthreads in a wait.
TERM
Terminates waiting pthreads after 30 seconds. TERM is the default.
_BPXK_WLM_PROPAGATE
Controls propagation of WLM enclaves that were not created by the z/OS UNIX kernel.
YES
z/OS UNIX services propagates all enclaves (address spaces or task). The services that propagate enclaves are fork(), exec(), spawn(), pthread_create(), _osenv(), and FastCGI. YES is the default.
NO
z/OS UNIX services does not propagate any enclaves that were not created by the z/OS UNIX kernel.