Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual—522629-013
14-9
SEGMENT_ALLOCATE_ Procedure
attempt to allocate an 1120 MB segment in a native program results in an
error 15.
°
The 32-megabyte region boundary does not apply in the G05.00 and later
G-series RVUs.
•
For a selectable segment, the value must be in the range 1 byte through 127.5
megabytes (133,693,440 bytes).
The system might round the size up to the next
segment-size increment, where
the increment is both processor-dependent and subject to change. The only effect
this has on the program is that an address reference that falls outside the specified
segment size but within the actual size does not cause an invalid address
reference (trap 0 for a Guardian TNS process, a SIGSEGV signal for an OSS or
any native process and a subsequent fetch might not retrieve the value previously
stored).
For methods of sharing segments, see the
pin and segment-type parameters.
Upon initial allocation of the segment:
•
The segment-size parameter is required if the swap file does not exist.
•
The segment-size parameter is optional if the swap file already exists. If the
segment is a read-only segment, the default size is the end-of-file value of the
swap file (EOF). If the segment is a read-write segment, the default segment
size is the allocated size of the swap file.
•
For a read-only segment, segment-size must not be greater than the end-of-
file value of the file; otherwise, an error occurs. For a read-write segment, if
segment-size is greater than the allocated size of the swap file, the system
attempts to allocate additional space.
If a segment is being shared by the PIN method (see
pin), the following rule
applies to the sharers:
•
The segment-size parameter must be omitted, and the size of the segment
is the same as that from the initial SEGMENT_ALLOCATE_ call.
If a segment is being shared by the file name method (see
segment-type), the
following rules apply to the sharers:
•
If the swap file supplied in the filename parameter does not exist at the time of
the call, the segment-size parameter must be supplied.
•
If the swap file supplied in the filename parameter exists, then:
°
The segment-size parameter can be omitted.
°
If the segment is a read-write segment, the default size is the allocated
size of the swap file.
°
If the segment is a read-only segment, then: