TS/MP Pathsend and Server Programming Manual (G06.24+, H06.03+)

Examples
NonStop TS/MP Pathsend and Server Programming Manual132500
B-37
Pathsend Requester Example
IF NOT found AND NOT early^exit
THEN ! look at the next param
@sp := @sp[sp + sp[sp + 1] + 2];
END; ! while i < num params and not found
IF NOT found
THEN ! missing or bad param
BEGIN
sbuf ':=' "MISSING OR ILLEGAL PARAM 'MAX-RETRIES' " -> @sp;
CALL WRITE (term^fnum, buf, @sp '-' @sbuf);
IF <
THEN ! print an error msg and abend
CALL IO^error (error^log^fnum);
CALL ABEND;
END; ! if not found
END; ! PROC param^proc
?PAGE "PROCESS ONE TRANSACTION"
! This PROC executes one transaction. It initiates the two nowaited
! ServerClass_Sends_ and one message log write, and calls the
! routine complete^IO to finish the I/O.
! If the I/O completes successfully, this proc ends the transaction,
! otherwise it aborts the transaction and cancels any outstanding
! I/O.
INT PROC process^transaction (cb^list^head);
INT .EXT cb^list^head (control^block^template);
BEGIN
INT .EXT cb (control^block^template) := @cb^list^head;
CALL start^the^tmf^transaction;