CBL_ALLOC_THREAD_MEM

Allocates thread-specific heap memory.

Syntax:
call "CBL_ALLOC_THREAD_MEM" using      mem-pointer
                            by value  mem-size
                            by value  flags
                            returning status-code
Parameters:
Using call prototype (see Library Routines - Key) Picture (32-bit systems)
mem-pointer cblt-pointer usage pointer. Must be level 01.
mem-size cblt-os-size pic x(4) comp-5.
flags cblt-os-flags pic x(4) comp-5.
status-code See Library Routines - Key
On Entry:
mem-size Size of memory to be allocated.
flags The type of memory required. You can set the following bits:
Bits 0-1 Reserved. Must be set to 0.
Bit 2 Allocate this memory independently from any calling program.
Bits 4-31 Reserved. Must be set to 0.
On Exit:
mem-pointer A pointer to the memory allocated. The allocated memory is not initialized.
status-code
0 Successful allocation
157 Unable to allocate memory
181 Contradictory flags specification
Coments:

If bit 2 is not set the memory allocated by CBL_ALLOC_THREAD_MEM is freed when the program that allocated it is canceled (logically or physically), if there is a COBOL program that is directly or indirectly the caller.

If bit 2 is set, this memory is freed when the thread that allocated it terminates, if it has not been previously freed by CBL_FREE_THREAD_MEM.

See Also: