![]() Chapter Contents |
![]() Previous |
![]() Next |
| hppush |
| SYNOPSIS | |
| DESCRIPTION | |
| RETURN VALUE | |
| ERRORS | |
| IMPLEMENTATION | |
| EXAMPLE | |
| RELATED FUNCTIONS | |
| SEE ALSO |
| SYNOPSIS |
#include <multheap.h> int *hppush(_heap_id heapid, int autopop);
| DESCRIPTION |
hppush changes the default
heap to the heap identified by heapid. If autopop = HPPUSH_AUTOPOP, when the function
that calls hppush returns, the heap will be
reset to its state on entry to the calling function.
| RETURN VALUE |
hppush returns 0 if the
function succeeds, -1 if the heapid was invalid, or -2 if insufficient memory
was available to complete the operation.
| ERRORS |
User ABEND 1205 or 1206 may occur if memory management data areas are overlaid.
| IMPLEMENTATION |
Using hppush to change
the default heap allows code that calls malloc, calloc, and so forth to make use of a different heap than
that which is provided as the standard heap. The autopop
specification HPPUSH_AUTOPOP may be useful in specifying a default heap to
be used only for the duration of a specific function and its descendants.
It is especially useful if the function has many different return statements,
or if it may be terminated by longjmp from
a signal handler.
| EXAMPLE |
See the example for hpextract.
| RELATED FUNCTIONS |
hppop, hpcreate
| SEE ALSO |
"Memory Allocation Functions" in Chapter 2, "Function Categories" of the SAS/C Library Reference, Volume 1.
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top of Page |
Copyright © 2004 by SAS Institute Inc., Cary, NC, USA. All rights reserved.