Using Rexx on Windows and Unix

Rexx programs can call other Rexx programs as external functions or subroutines with the call instruction.

If a program is called with the call instruction, the program runs in the same process as the calling program. If you call another program by a Rexx command, the program is executed in a new process and therefore does not share .environment, .local, or the Windows/Unix shell environment.

Examples:

call "other.REX"         /* runs in the same process */
"rexx other.REX"         /* runs in a new child process */
"start rexx other.REX"   /* runs in a new detached process */

When Rexx programs call other Rexx programs as commands, the return code of the command is the exit value of the called program provided that this value is a whole number in the range -32768 to 32767. Otherwise, the exit value is ignored and the called program is given a return code of 0.