Guardian Procedure Calls Reference Manual

of the addressable area of the segment in the backup process is not checkpointed. If the
backup process does not have a segment with that segment ID, an error is returned and no
data or file information is checkpointed.
Extended addresses must be relative; they cannot be absolute. Extended addresses cannot
be in the user code space.
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.
The CHECKPOINT procedure allows 13 items to be checkpointed at once and uses word
counts, while CHECKPOINTX allows 5 items to be checkpointed at once and uses byte counts.
The CHECKPOINT procedure cannot be called from a native process.
Do not try to checkpoint data in a read-only segment.
You can checkpoint data in shared extended data segments, but you must ensure consistency
of the data among all processes that might be sharing the segment, both in the primary
processor and in the backup processor.
Stack allocation for native processes
The backup process can abnormally terminate if not enough disk or memory resources are
available to increase the size of the main stack in the backup process. This situation is possible
in a native process, because the main stack is allocated dynamically or on request. By contrast,
TNS stacks are statically allocated.
Use the SPACE_GUARANTEE attribute of the object file or process creation procedure to
ensure that enough resources are available when the native process is created.
Errors returned by CHECKPOINTX
CHECKPOINTX returns these errors:
The checkpoint message contains a buffer in an extended data segment, and the backup
does not have that segment allocated (file-system error 22).
The backup process does not exist.
Parameter errors (status.<0:7> = 3):
The file number is not open.
The extended address is absolute.
The extended address is in logical segment 1, 2, or 3 (code or library spaces); that
is, not in a data segment or the stack.
The segment ID was omitted or was equal to -1 and the address was in a selectable
extended data segment, but no selectable segment was in use at the time of the call
to CHECKPOINTX.
The address was in the stack, but either count-n was too large, the area was above
the highest stack address, the area was beyond the end of stack, or the area
overlapped with the area used by the CHECKMONITOR procedure.
CHECKPOINTX Procedure 159