GDSX Manual
Service Routines
Extended General Device Support (GDSX) Manual–134303
8-64
^RECLAIMBUFFER
On return from ^RECLAIMBUFFER this pointer will contain a new address
pointing to the buffer reallocated from the specified memory pool in the new
primary process.
pool-number input
INT:value
is the pool number. The value of pool-number is one of the following:
The following condition code settings are valid:
Examples
1. In this example an extended buffer pool buffer is reclaimed:
INT .EXT BUFX := 0D;
@BUFX := GETEXTPOOL(10, 500);
.
IF ^CHECKPOINT(2) THEN
BEGIN
CALL ^RECLAIMBUFFER(@BUFX, 10); !Extended buffer pool
IF <> THEN ! Did not find it, we're in trouble.
BEGIN
.
.
0 Local buffer pool (the default value)
1 Local message pool
3 Shared extended pool
4 Private extended pool
10 Extended buffer pool
11 Extended message pool
= CCE indicates that the buffer has been reallocated.
< CCL indicates that no buffer was found whose address matches the one
specified in buffer. Either the caller specified an incorrect address or the
task’s most recent checkpoint was not a type 2 checkpoint. In the latter case,
no matching buffer could be found because the most recent checkpoint did
not include any buffers. The result is that upon takeover the task loses any
buffers that were held by the former primary process.
> CCG indicates that the specified buffer was found but a buffer to reclaim it
could not be allocated. Either the caller specified an invalid pool number in
pool-number or there is not enough space in the specified or default pool to
allocate the new buffer.