Syntax:
call "CBL_MEM_STRATEGY" using by value func
by reference flags
returning status-code
Parameters:
|
Using call prototype (see Key) |
Picture (32-bit systems) |
func
|
cblt-x4-comp-5 |
pic x(4) comp-5. |
flags
|
cblt-x4-comp-5 |
pic x(4) comp-5. |
status-code
|
See Library Routines - Key |
On Entry:
-
func
-
0 |
Get memory strategy |
1 |
Set memory strategy |
2 |
Get number of freed memory blocks being checked |
3 |
Set number of freed memory blocks to be checked |
-
flags
- If func is set to 1, flags indicates the memory strategy to set, as follows:
- Bit 0
-
0 |
No action |
1 |
Check bytes strategy: prepend and append check bytes to each memory allocation |
- Bit 1
-
0 |
No action |
1 |
Check freed memory strategy: monitor for subsequent corruption the last n memory blocks freed, where n is the current value as set when func is set to 3 |
- Bit 2
-
0 |
No action |
1 |
Reuse strategy: allow freed memory being monitored for corruption to be used to satisfy allocation requests |
- Bits 3-29
- Reserved for future use. Must be set to zero.
- Bit 30
-
0 |
No action |
1 |
Compatibility strategy: maintain compatibility with previous versions of the run-time system |
- Bit 31
-
0 |
No action |
1 |
Validate strategy: validate memory each time an allocation or free operation occurs |
If func is set to 3, flags indicates the number of freed memory blocks to be monitored for corruption.
On Exit:
-
flags
- If func is set to 0, flags indicates the current memory strategy,as follows:
- Bit 0
-
0 |
No action |
1 |
Check bytes strategy: prepend and append check bytes to each memory allocation |
- Bit 1
-
0 |
No action |
1 |
Check freed memory strategy: monitor for subsequent corruption the last n memory blocks freed, where n is the current value as set when func is set to 3 |
- Bit 2
-
0 |
No action |
1 |
Reuse strategy: allow freed memory being monitored for corruption to be used to satisfy allocation requests |
- Bits 3-29
- Reserved for future use. Set to zero.
- Bit 30
-
0 |
No action |
1 |
Compatibility strategy: maintain compatibility with previous versions of of the run-time system |
- Bit 31
-
0 |
No action |
1 |
Validate strategy: validate memory each time an allocation or free operation occurs |
If func is set to 2, flags indicates the number of freed memory blocks being monitored for corruption.
-
status-code
- Status of operation:
0 |
All memory allocations are intact |
1000 |
Insufficient memory to perform request |
1009 |
Invalid parameter specified |
Comments:
Use this routine to change the memory strategy for an application from within the application. It provides the same functionality as that provided by the memory_strategy and memory_free_check_size run-time tunables.