=================================================================== RCS file: /home/cvs/OpenXM_contrib/gc/Attic/malloc.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/malloc.c 1999/11/27 10:58:32 1.1.1.1 +++ OpenXM_contrib/gc/Attic/malloc.c 2000/04/14 11:07:59 1.1.1.2 @@ -93,8 +93,16 @@ register ptr_t *opp; 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, 0)) == 0 - && GC_collect_or_expand(n_blocks, FALSE)); + h = GC_allochblk(lw, k, 0); +# ifdef USE_MUNMAP + if (0 == h) { + GC_merge_unmapped(); + h = GC_allochblk(lw, k, 0); + } +# endif + while (0 == h && GC_collect_or_expand(n_blocks, FALSE)) { + h = GC_allochblk(lw, k, 0); + } if (h == 0) { op = 0; } else {