Guardian Procedure Calls Reference Manual
error-detail
output
INT .EXT:ref:1
returns additional information associated with some errors. For details, see Returned Value.
Returned Value
INT
Outcome of the operation:
SEGMENT_OK0
Segment successfully deallocated.
SEGMENT_PARAMETER2
Parameter error; error-detail contains the number of the first parameter found to be in error, where 1
designates the first parameter on the left.
SEGMENT_BOUNDS3
Bounds error.
SEGMENT_DEALLOCFAIL4
Segment not deallocated; error-detail returns one of these values that indicates the reason for the failure:
SEGMENT_DETAIL_ILLEGALSEG1
segment-id is out of range.
SEGMENT_DETAIL_NOTOWNED2
segment-id is in range but not allocated by the caller.
SEGMENT_DETAIL_SEGINUSE3
Segment is currently in use by the system. It might be in this state because an outstanding nowait
I/O operation using a buffer within the segment has not been completed by a call to AWAITIOX.
No message-system control blocks are available.30
Considerations
• flags parameter
If the swap file associated with an extended data segment is neither a temporary file nor
managed by the Kernel-Managed Swap Facility (KMSF), all of the modified pages of the
segment are written to the file before it is closed by the last process using it. This is also true
for a swap file that was created as a temporary file but was later renamed. (A program might
use this method to keep its temporary file.) However, if the extended segment is large and if
there are a large number of modified ("dirty") pages, it might take a long time to deallocate
the segment. If flags.<15> is set to 1, the modified pages are not written to the swap file,
even if it is a permanent file. This option is recommended when the swap file has been made
permanent to reserve the swap file space, or when the file contents are unimportant for any
reason.
• Breakpoints
Before deallocating a segment, SEGMENT_DEALLOCATE_ removes all memory access
breakpoints set in that segment.
SEGMENT_DEALLOCATE_ Procedure 1277