From 5966e6162473aedba7fa025d9c8e801add3777c2 Mon Sep 17 00:00:00 2001 From: Pekka Pirinen Date: Tue, 9 Jun 1998 14:14:35 +0100 Subject: [PATCH] Don't reclaim buffered segs Copied from Perforce Change: 19643 ServerID: perforce.ravenbrook.com --- mps/src/poolams.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mps/src/poolams.c b/mps/src/poolams.c index b79b8bb1093..c85bd06ae40 100644 --- a/mps/src/poolams.c +++ b/mps/src/poolams.c @@ -1,6 +1,6 @@ /* impl.c.poolams: AUTOMATIC MARK & SWEEP POOL CLASS * - * $HopeName$ + * $HopeName: MMsrc!poolams.c(trunk.23) $ * Copyright (C) 1998. Harlequin Group plc. All rights reserved. * * .readership: any MPS developer. @@ -26,7 +26,7 @@ #include "mpm.h" #include -SRCID(poolams, "$HopeName: MMsrc!poolams.c(trunk.22) $"); +SRCID(poolams, "$HopeName: MMsrc!poolams.c(trunk.23) $"); #define AMSSig ((Sig)0x519A3599) /* SIGnature AMS */ @@ -926,7 +926,7 @@ void AMSReclaim(Pool pool, Trace trace, Seg seg) group->free += reclaimed; trace->reclaimSize += reclaimed << ams->grainShift; - if(group->free == group->grains) { + if(group->free == group->grains && SegBuffer(seg) == NULL) { /* No survivors */ AMSGroupDestroy(group); /* design.mps.poolams.benefit.guess */