GDSX Manual
Design and Development
Extended General Device Support (GDSX) Manual–134303
2-24
Local Pools
deallocate space from these pools (for additional information about memory pools, see
"Space Usages and Limitations" on page 2-18). Besides these four pools, GDSX also
provides the extended buffer pool and the extended message pool (also by default in the
extended segment with ID 1024). The sizes of all these pools are determined at GDSX
initialization and are dependent on static configuration parameters (see "GDSX
Configuration Parameters" on page 2-42).
Pool space may be allocated by TSCODE on behalf of a user task (see the
considerations for "^READUPDATE[X]" on page 8-59). However, this TSCODE-
allocated pool space must be deallocated by a user task when the space is no longer
needed. TSCODE deallocates a task’s pool space only when the task is stopped. Then
buffer space allocated by the task from any of the memory pools will automatically be
deallocated.
You can view pool sizes by issuing the following SCF command at the SCF prompt:
-> INFO PROCESS $GDSX-process-name, DETAIL
Local Pools
The selection of the pool names, buffer pool and message pool, was arbitrary. For
GDSX applications there is no recommendation on how to use these two pools.
Buffer Pool
The buffer pool (also called the local buffer pool) is often used by USCODE for request
buffers. This pool is in the lower 32K of the user data segment, and contains
approximately 28,000 words. The entire 28K words of memory present in the buffer
pool may not be available to USCODE as TSCODE also allocates memory for itself
from this pool for processing any messages received by it. Hence, its recommended that
USCODE manage its processing using a maximum of 22K words from the buffer pool.
Memory allocated from this pool is byte addressable. The GETLOCALPOOL and
PUTLOCALPOOL procedures are used to allocate and deallocate space from this pool.
Message Pool
The message pool (also called the local message pool) is used primarily for queuing
purposes. If data is received by GDSX but no recipient has been identified, the data is
temporarily stored in this pool. This pool is in the upper 32K of the user data segment
and contains approximately 32,000 words (see "User Data Segment" on page 2-19).
Memory allocated from this pool is only word addressable. The GETLOCALPOOL and
PUTLOCALPOOL procedures are used to allocate and deallocate space from this pool.
Caution. Pool space allocated by you must be deallocated (by a call to PUTLOCALPOOL or
PUTEXTPOOL—see Section 8 for details) when it is no longer needed.
Caution. During execution of the PROCESS^ASSIGNS, PROCESS^USER^PARAMS,
USER^INITIALIZE, and USER^INIT^CONFIG^PARAMS user exits, buffers may be allocated
from memory pools, but when these procedures are exited, the buffers are automatically
deallocated by TSCODE.