From 29295b0c903522a1eaefca36043a118a05730771 Mon Sep 17 00:00:00 2001 From: Neil Jerram Date: Thu, 29 Dec 2005 10:26:39 +0000 Subject: [PATCH] =?utf8?q?(next=5Ffluid=5Fnum):=20[From=20Ludovic=20Court?= =?utf8?q?=C3=A8s:]=20Don't=20trigger=20the=20GC=20when=20allocated=5Fflui?= =?utf8?q?ds=5Flen=20is=20zero.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- libguile/ChangeLog | 5 +++++ libguile/fluids.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libguile/ChangeLog b/libguile/ChangeLog index e37af5096..49d367882 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,8 @@ +2005-12-29 Neil Jerram + + * fluids.c (next_fluid_num): [From Ludovic Courtès:] Don't trigger + the GC when allocated_fluids_len is zero. + 2005-12-14 Neil Jerram * load.c (the_reader, the_reader_fluid_num): New. diff --git a/libguile/fluids.c b/libguile/fluids.c index ddd7b2df2..68806bdad 100644 --- a/libguile/fluids.c +++ b/libguile/fluids.c @@ -202,7 +202,8 @@ next_fluid_num () scm_frame_begin (0); scm_i_frame_pthread_mutex_lock (&fluid_admin_mutex); - if (allocated_fluids_num == allocated_fluids_len) + if ((allocated_fluids_len > 0) && + (allocated_fluids_num == allocated_fluids_len)) { /* All fluid numbers are in use. Run a GC to try to free some up. -- 2.20.1