GDSX Manual

Service Routines
Extended General Device Support (GDSX) Manual134303
8-65
^REPLY[X]
2. In this example buffer pool and message pool buffers are reclaimed:
INT .BUFF1,
.BUFF2;
INT .EXT XBUFF1,
.EXT XBUFF2;
@BUFF1 := GETLOCALPOOL(0, 100);
@XBUFF1 := $XADR(BUFF1);
@BUFF2 := GETLOCALPOOL(1, 100);
@XBUFF2 := $XADR(BUFF2);
.
IF ^CHECKPOINT(2) THEN
BEGIN
CALL ^RECLAIMBUFFER(@XBUFF1, 0); !buffer pool
IF <> THEN ! Did not find it, we're in trouble.
BEGIN
.
.
END
ELSE
BEGIN ! We reset the pointer with the new address
! from ^RECLAIMBUFFER
@BUFF1 := $LADR(XBUFF1);
END;
CALL ^RECLAIMBUFFER(@XBUFF2, 1); !message pool
IF <> THEN ! Did not find it, we're in trouble.
BEGIN
.
.
END
ELSE
BEGIN ! We reset the pointer with the new address
! from ^RECLAIMBUFFER
@BUFF2 := $LADR(XBUFF2);
END;
.
.
END; ! of Primary Failure and recovery.
^REPLY[X]
The ^REPLY and ^REPLYX procedures send reply messages to messages received
earlier in calls to ^READUPDATE[X] on the pseudo-$RECEIVE file.
Except for the following consideration, the syntax, condition code settings, and
considerations regarding these two procedures are the same as the counterparts in the
Guardian Procedure Calls Reference Manual.