GDSX Manual
Service Routines
Extended General Device Support (GDSX) Manual–134303
8-60
^READ[X]
3. Checkpoints including both global data and task stack may be accomplished as
follows:
INT I^GOT^CP^SEM;
.
.
I^GOT^CP^SEM := GET^CPSEM;
CALL Q^CP(...); !As many as required to checkpoint
!global data
IF ^CHECKPOINT( ) THEN
BEGIN
I^GOT^CP^SEM := 0;
.
Do takeover Processing
.
END
ELSE
IF I^GOT^CP^SEM THEN
BEGIN
CALL GIVE^CPSEM;
I^GOT^CP^SEM := 0;
END;
^READ[X]
The ^READ and ^READX procedures return data from an open file to the application
process’s data area. Because the working stack images of tasks are swapped to and from
an extended data segment during I/O operations, I/O must be performed to and from
global buffers.
The syntax, condition code settings, and considerations regarding these two procedures
are the same as the counterparts in the Guardian Procedure Calls Reference Manual.
^READLOCK[X]
The ^READLOCK and ^READLOCKX procedures sequentially lock and read records
in a disk file, exactly like the combination of LOCKREC and READ[X]. Because the
working stack images of tasks are swapped to and from an extended data segment during
I/O operations, I/O must be performed to and from global buffers.
The syntax, condition code settings, and considerations regarding these two procedures
are the same as the counterparts in the Guardian Procedure Calls Reference Manual.
^READUPDATE[X]
The ^READUPDATE AND ^READUPDATEX procedures are used by
DEVICE^HANDLER tasks to read messages from the pseudo-$RECEIVE file, and by
LINE^HANDLER tasks to read messages from the $RECEIVE-like file.
Except for the following considerations, the syntax, condition code settings, and
considerations regarding these two procedures are the same as the counterparts in the
Guardian Procedure Calls Reference Manual.