Guardian Procedure Calls Reference Manual

Identification of the backup process
The system identifies the process to be affected by the CHECKPOINTMANY operation from
the process' mom field in the process control block (PCB). For named process pairs, this field
is automatically set up during the creation of a backup process.
Takeovers and selectable segments
The selectable segment put into use following takeover depends on several factors:
The segment in use at the time of the last checkpoint is put into use if it is available; that
is, the segment was allocated to the backup using the SEGMENT_ALLOCATE_CHKPT_
or CHECKALLOCATESEGMENT procedure and has not since been deallocated by the
SEGMENT_DEALLOCATE_CHKPT_ or CHECKDEALLOCATESEGMENT procedure.
The segment in use when the CHECKMONITOR or CHECKSWITCH procedure was called
is used if the segment in use at the time of the last checkpoint is no longer available.
No segment is used if the segment in use at the time of the last checkpoint and the segment
in use when the CHECKMONITOR or CHECKSWITCH procedure was called are both
unavailable.
Increased file limits for key-sequenced files
The CHECKPOINTMANY procedure can checkpoint the file synchronization blocks of file
numbers passed to it in the descriptors parameter. In H06.28/J06.17 RVUs with specific SPRs
and later RVUs, the limits of the following file attributes for format 2 key-sequenced files have
been increased, which can result in file synchronization blocks with larger maximum sizes.
(For a list of the required H06.28/J06.17 SPRs, see SPR Requirements for Increased Enscribe
Limits for the H06.28/J06.17 Release (page 31).)
The file synchronization blocks support synchronization IDs for a maximum of 127
partitions of an enhanced key-sequenced file; earlier RVUs only support a maximum of
64 partitions.
The maximum key size for format 2 legacy key-sequenced files and enhanced
key-sequenced files is 2048 bytes, and the current key is part of the file synchronization
block; earlier RVUs only support a maximum key length of 255 bytes.
As a result of these increased limits, more memory may be required to checkpoint file
synchronization blocks, which can potentially reduce the number of file opens that can be
checkpointed in a single CHECKPOINTMANY call and cause “message too large” errors to
occur at lower thresholds than previously.
See also the CHECKPOINT procedure Considerations (page 143).
Example
DESCRIPTORS[0] := 2; ! count of items.
DESCRIPTORS[1] := -1; ! sync item.
DESCRIPTORS[2] := FNUM^A; ! file number.
DESCRIPTORS[3] := @BUFFER; ! data item: word address.
DESCRIPTORS[4] := 512; ! number of words.
STAT:= CHECKPOINTMANY( STK^ORIGIN , DESCRIPTOR);
! this is equivalent to:
! STAT := CHECKPOINT( STK^ORIGIN, , FNUM^A, BUFFER, 512 );
148 Guardian Procedure Calls (C)