Using SYSPRINT as the default stream output file

SYSPRINT serves as the default stream output file for PL/I and C. In the absence of one language, the other uses SYSPRINT without any problem. If both languages are used in an application, C yields to PL/I's use of SYSPRINT by redirecting the C stream output to other destinations. However, in the following two cases, the redirection of C's stream output is not possible and the results can be unpredictable:

  1. The main load module does not have a PL/I PUT statement and C uses SYSPRINT for its stream output in the main load module. Later, a fetched subroutine load module contains a PL/I PUT statement that PL/I starts to use SYSPRINT for its stream output.
  2. When Language Environment preinitialization services are used for a subroutine environment, C uses SYSPRINT for its stream output in the first CEEPIPI(call_sub,...) then PL/I users SYSPRINT for its PUT statement in the second CEEPIPI(call_sub).