execFlag (ULONG) - input

      Flag indicating how the program runs in relation to the requester, and whether execution is under conditions for debugging.

      The values of this field are shown in the following list:

    • EXEC_SYNC
      Execution is synchronous to the parent process. The termination code and result code are stored in the RESULTCODES structure pointed to by pRes.

    • EXEC_ASYNC
      Execution is asynchronous to the parent process. When the child process ends, its result code is discarded. The process ID is stored in the codeTerminate field of the RESULTCODES structure pointed to by pRes.

    • EXEC_ASYNCRESULT
      Execution is asynchronous to the parent process. When the child process ends, its result code is saved for examination by a DosWaitChild request. The process ID is stored in the codeTerminate field of the RESULTCODES structure pointed to by pRes.

    • EXEC_TRACE
      Execution is the same as if EXEC_ASYNCRESULT were specified for execFlag. Debugging conditions are present for the child process.

    • EXEC_BACKGROUND
      Execution is asynchronous to and detached from the parent-process session. When the detached process starts, it is not affected by the ending of the parent process. The detached process is treated as an orphan of the parent process.

      A program executed with this option runs in the background, and should not require any input from the keyboard or output to the screen other than VioPopups. It should not issue any console I/O calls (VIO, KBD, or MOU functions).

    • EXEC_LOAD
      The program is loaded into storage and made ready to execute, but is not executed until the session manager dispatches the threads belonging to the process.

    • EXEC_ASYNCRESULTDB
      Execution is the same as if EXEC_ASYNCRESULT were specified for execFlag, with the addition of debugging conditions being present for the child process and any of its descendants. In this way, it is possible to debug even detached and synchronous processes.

      Some memory is consumed for uncollected result codes. Issue DosWaitChild to release this memory. If result codes are not collected, then EXEC_SYNC or EXEC_ASYNC should be used for execFlag.


    [Back] [Next]