GDSX Manual
Service Routines
Extended General Device Support (GDSX) Manual–134303
8-36
GETLOCALPOOL
GETLOCALPOOL
This procedure allocates local pool space for the calling task from one of two local
memory pools. The local buffer pool, pool 0, is in the lower 32K of the user data stack,
and contains approximately 28,000 words. The local message pool, pool 1, is in the
upper 32K of the user data stack and contains approximately 32,000 words.
For more information, see “Memory Pools” on page 2-24.
address returned value
INT:value
is the word address of the allocated memory, unless a timeout occurred or space was
not available. In the latter two cases a zero is returned.
pool input
INT:value
defines which local pool to allocate memory for. The value for pool is one of the
following:
size input
INT:value
is the number of words to allocate.
timeout input
INT(32):value
is the maximum number of ticks (10 ms) to wait for space to be allocated.
If this parameter is omitted, the calling task waits the number of ticks defined by the
BUFFERTIMEOUT configuration parameter. BUFFERTIMEOUT has a default of
1,000 ticks, equal to 10 seconds. If space is not allocated within that time, TSCODE
suspends the calling task with a fault.
Considerations
•
This procedure may cause the calling task to be suspended.
address := GETLOCALPOOL ( pool !
i
,size !
i
,[ timeout ] ); !
i
0 Local buffer pool
1 Local message pool