CTRL-Break & OS/2 commands

There's a bug in CMD.EXE in the handling of CTRL-BREAK while executing a system command from within a REXX program: Instead of passing this signal to the REXX program, the CMD.EXE terminates the REXX program. This is also true for .EXE files called from a REXX program if they pass the CTRL-Break to the CMD.EXE. (Source: page How do I ... on the home page of Quercus Systems (see Internet - Web Pages))

To avoid this error, call a new copy of the CMD.EXE to execute system commands. For example:

 
  "cmd /c" "dir \ | rxqueue"
                        /* the variable RC contains the return code   */
                        /* of the dir command                         */

(see also The CMD command and The functions LINEIN() and PULL())


[Back: General hints for OS/2 & DOS commands]
[Next: Using meta chars]