Guardian Application Conversion Guide

Creating and Managing a High-PIN Process
Converting TAL Applications
096047 Tandem Computers Incorporated 3–25
In the following example, PROCESS_SUSPEND_ first suspends a process identified by
the
process^handle
parameter and then suspends both processes of a process pair
where one process of the pair is identified by
process^handle
:
error := PROCESS_SUSPEND_(process^handle);
...
! Suspend both processes of the process pair.
specifier := suspend^pair; ! Set to 1.
error := PROCESS_SUSPEND_(process^handle,
specifier); ! Value = 1.
Invoking Inspect or Debug for a Process
Your existing program might call the DEBUGPROCESS procedure to invoke Inspect or
Debug for another process:
CALL DEBUGPROCESS (process^id);
Convert the DEBUGPROCESS call to a call to the PROCESS_DEBUG_ procedure.
PROCESS_DEBUG_ requires a process handle rather than a process ID as an input
parameter to specify the process (for a process other than the calling process).
Optional parameters specify the home terminal and whether the process should enter
debug mode immediately. The option to enter debug mode immediately (the debug
now option) affects processes where the debug breakpoint is within library code; if the
debug now option is set, debugging begins within the library code itself, rather than
waiting until the return to user code. The debug now option is available only to the
super ID with process access ID (PAID) 255,255.
This example shows two calls to the PROCESS_DEBUG_ procedure:
! Debug the process identified by process^handle.
error := PROCESS_DEBUG_(process^handle);
...
! Debug the process identified by process^handle.
! Use the now option (PAID must be 255,255).
now := debug^now; ! Set to 1.
error := PROCESS_DEBUG_( process^handle,
! home^terminal ! ,
now); ! Value = 1.