Guardian Procedure Calls Reference Manual
Condition Code Settings
Segment not deallocated—an invalid segment ID was supplied or the specified segment is currently
in use by the operating system; for example, an outstanding nowait I/O operation using a buffer in
the segment has not been completed by a call to AWAITIOX.
< (CCL)
Segment deallocated.= (CCE)
Segment deallocated, but an I/O error occurred writing dirty pages to the segment's permanent swap
file.
> (CCG)
Considerations
• flags parameter
The flags..<15> = 1 option is used to improve performance when the swap file is either a
permanent file or a temporary file that is opened concurrently by another application. Following
the DEALLOCATESEGMENT call, the contents of the swap file are unpredictable.
If the DEALLOCATESEGMENT call causes a purge of a temporary file or the
DEALLOCATESEGMENT call deallocates swap space managed by the Kernel-Managed Swap
Facility (KMSF), the operating system does not write the dirty pages (that is, pages that are
being used) out to the file.
• Breakpoints
Before deallocating a segment, this procedure removes all memory access breakpoints set in
that segment.
• Segment deallocation
When a segment is deallocated, the swap file end of file (EOF) is set to the larger of (1) the
EOF when the file is opened by ALLOCATESEGMENT or (2) the end of the highest numbered
page that is written to the swap file. All file extents beyond the EOF that did not exist when
the file was opened are deallocated.
• Shared segments
A shared segment remains in existence until it has been deallocated by all the processes that
allocated it.
Example
CALL DEALLOCATESEGMENT ( SEGMENT^ID );
IF <> THEN ...
! SEGMENT^ID refers to the segment number specified
! in the call to ALLOCATESEGMENT.
DEALLOCATESEGMENT Procedure (Superseded by SEGMENT_DEALLOCATE_ Procedure) 253