diff options
Diffstat (limited to 'private/crt32/winheap/heapmin.c')
-rw-r--r-- | private/crt32/winheap/heapmin.c | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/private/crt32/winheap/heapmin.c b/private/crt32/winheap/heapmin.c new file mode 100644 index 000000000..6073adf21 --- /dev/null +++ b/private/crt32/winheap/heapmin.c @@ -0,0 +1,73 @@ +/*** +*heapmin.c - Minimize the heap +* +* Copyright (c) 1989-1991, Microsoft Corporation. All rights reserved. +* +*Purpose: +* Minimize the heap freeing as much memory as possible back +* to the OS. +* +*Revision History: +* 08-28-89 JCR Module created. +* 11-06-89 JCR Improved, partitioned +* 11-13-89 GJF Added MTHREAD support, also fixed copyright +* 12-14-89 GJF Couple of bug fixes, some tuning, cleaned up the +* formatting a bit and changed header file name to +* heap.h +* 12-20-89 GJF Removed references to plastdesc +* 03-11-90 GJF Replaced _cdecl with _CALLTYPE1, added #include +* <cruntime.h> and removed #include <register.h>. +* 03-29-90 GJF Made _heapmin_region() and _free_partial_region() +* _CALLTYPE4. +* 07-24-90 SBM Compiles cleanly with -W3 (tentatively removed +* unreferenced labels and unreachable code), removed +* '32' from API names +* 09-28-90 GJF New-style function declarators. Also, rewrote expr. +* to avoid using cast as lvalue. +* 12-04-90 SRW Changed to include <oscalls.h> instead of <doscalls.h> +* 12-06-90 SRW Added _CRUISER_ and _WIN32 conditionals. +* 12-28-90 SRW Added cast of void * to char * for Mips C Compiler +* 03-05-91 GJF Changed strategy for rover - old version available +* by #define-ing _OLDROVER_. +* 06-27-94 SRW Ported to Win32 Heap API +* +*******************************************************************************/ + +#include <cruntime.h> +#include <oscalls.h> +#include <malloc.h> +#include <os2dll.h> +#include <stdlib.h> + +#ifndef _POSIX_ + +/*** +*_heapmin() - Minimize the heap +* +*Purpose: +* Minimize the heap freeing as much memory as possible back +* to the OS. +* +*Entry: +* (void) +* +*Exit: +* +* 0 = no error has occurred +* -1 = an error has occurred (errno is set) +* +*Exceptions: +* +*******************************************************************************/ + +int _CALLTYPE1 _heapmin(void) +{ + if (HeapCompact( GetProcessHeap(), 0 ) == 0) { + return -1; + } + else { + return 0; + } +} + +#endif /* !_POSIX_ */ |