Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual522629-013
14-21
SEGMENT_ALLOCATE_CHKPT_ Procedure
pin input
INT:value
if present and not -1, requests allocation of a segment that is shared by the PIN
method.
pin specifies the process identification number of the process that has
previously allocated the segment and with which the caller wishes to share the
segment. The process designated by
pin must be in the same processor as the
caller. Processes sharing a segment by this method must reference the segment
by the same
segment-id.
If
pin is specified, filename must be omitted.
Considerations
The segment-size, segment-type, max-size and alloc-options
parameters of SEGMENT_ALLOCATE_ are not supported in
SEGMENT_ALLOCATE_CHKPT_ because the values for the primary process’s
segment are used.
A segment with the same segment ID must be allocated in the primary process
prior to the call to SEGMENT_ALLOCATE_CHKPT_.
If the filename parameter is provided, that file name is used by
SEGMENT_ALLOCATE_ in the backup process; otherwise, no file name
parameter is passed to SEGMENT_ALLOCATE_ in the backup process.
If you use the pin parameter, set it carefully because the PIN might not be the
same on the backup processor. You must determine the correct PIN for the
backup processor.
If the segment is not read-only, the swap file name must be different on the backup
and primary processors. If the same file name is given, allocation in the backup
fails because swap files cannot be shared between processors.
Nonexisting temporary swap file
If a shared segment is being allocated and only a volume name is supplied in the
filename parameter, then the complete file name of the temporary file created by
SEGMENT_ALLOCATE_CHKPT_ can be obtained from a subsequent call to
SEGMENT_GETBACKUPINFO_.
Swap file extent allocation
If an extensible segment is being created, then only one extent of the swap file is
allocated when SEGMENT_ALLOCATE_CHKPT_ returns.
Segment sharing
Subject to security requirements, a process can share a segment with another
process running on the same processor. For example, process $X can share a
segment with any of the following processes on the same processor: