Programs which use POSIX interfaces are treated as programs with pure BS2000 interfaces. However, restrictions apply whenever a process is created with a fork call and its BS2000 environment is not passed on with it.
A distinction must be made between the following calls of a merged program:
A logon process (dialog task) which was not created by a fork call
The BS2000 and POSIX program interfaces can be merged as desired.
A process which was created from a logon process by a fork call
The SYSFILE environment is not passed on, since BS2000 files opened by the parent process are not inherited by the child process.
The SYSFILE environment is a customized system file for command input (SYSCMD), data input (SYSDTA), logging (SYSLST), and for message or data output (SYSOUT).A combination of BS2000 and POSIX program interfaces is permitted in the following situations:
Parallel output via POSIX mechanisms and WROUT
Input via RDATA is not possible
Checkpoint/restart is not possible
BKPT is not possible
fork is not possible, if DIV or FASTPAM areas exist
Otherwise, BS2000 and POSIX program interfaces can be merged as desired.
A merged program which is started from the POSIX shell
A merged program which is started from the POSIX shell has a SYSFILE environment other than the POSIX shell, since it was created by a fork call. The same situation applies as for number 2 above.