=================================================================== RCS file: /home/cvs/OpenXM_contrib/gc/Attic/mallocx.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.2 diff -u -p -r1.1.1.1 -r1.1.1.2 --- OpenXM_contrib/gc/Attic/mallocx.c 1999/11/27 10:58:32 1.1.1.1 +++ OpenXM_contrib/gc/Attic/mallocx.c 2000/04/14 11:07:59 1.1.1.2 @@ -57,8 +57,16 @@ register int k; if(GC_incremental && !GC_dont_gc) GC_collect_a_little_inner((int)n_blocks); lw = ROUNDED_UP_WORDS(lb); - while ((h = GC_allochblk(lw, k, IGNORE_OFF_PAGE)) == 0 - && GC_collect_or_expand(n_blocks, TRUE)); + h = GC_allochblk(lw, k, IGNORE_OFF_PAGE); +# ifdef USE_MUNMAP + if (0 == h) { + GC_merge_unmapped(); + h = GC_allochblk(lw, k, IGNORE_OFF_PAGE); + } +# endif + while (0 == h && GC_collect_or_expand(n_blocks, TRUE)) { + h = GC_allochblk(lw, k, IGNORE_OFF_PAGE); + } if (h == 0) { op = 0; } else {