GDSX Manual

Service Routines
Extended General Device Support (GDSX) Manual134303
8-22
^ENDTRANSACTION
If GDSX is run as a process pair, TSCODE automatically calls DO^CP upon the
return from the USER^BACKUP user exit so that the primary and backup processes
are synchronized at startup.
Examples
For an example of user global checkpointing by DO^CP, see the description of the
Q^CP[X] procedures.
See the description of the USER^BACKUP exit for an example showing how user
global checkpointing can be done when a GDSX process pair is initialized.
^ENDTRANSACTION
This procedure completes a TMF transaction initiated by ^BEGINTRANSACTION.
You do not need to complete the call to ^ENDTRANSACTION with a call to
^AWAITIO or ^AWAITIOX in a user task. See Appendix D for an example of using
this procedure.
A trace record is written after a successful call to ^ENDTRANSACTION if bit 3 of
trace^control^flags in DCCBDECS is set to 1. The trace records contain the calling task
number of the user task and the TMF transaction identifier. See “Tracing GDSX” on
page 2-77 for more information.
The syntax, condition code settings, and considerations regarding this procedure are the
same as the counterpart in the NonStop TM/MP Application Programmer’s Guide.
FAULT
When a situation is detected programmatically that requires investigation, USCODE
may call FAULT and pass a fault number that is reported in an EMS message. TSCODE
stores the fault number in tcb.fault.
If a task is not to be restarted (noretn parameter equal to 0), control is returned to the
calling user exit or task. FAULT can be called with the noretn parameter equal to 0
from any user exit or task except the first five exits that can be called by TSCODE:
PROCESS^ASSIGNS
PROCESS^USER^PARAMS
USER^INIT^CONFIG^PARAMS
USER^INITIALIZE
USER^VERSION
During execution of these five exits, the monitor task, which handles the EMS messages,
has not been created.
If a task is to be restarted (noretn is equal to 1), TSCODE calls the USER^STOP exit,
with the suspended calling task as the current task. Then, if the auto^restart^flag of the