summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/ChangeLog5
-rw-r--r--libguile/fluids.c3
2 files changed, 7 insertions, 1 deletions
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 <neil@ossau.uklinux.net>
+
+ * 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 <neil@ossau.uklinux.net>
* 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.