summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Jerram <neil@ossau.uklinux.net>2005-12-29 10:26:39 +0000
committerNeil Jerram <neil@ossau.uklinux.net>2005-12-29 10:26:39 +0000
commit29295b0c903522a1eaefca36043a118a05730771 (patch)
treeed6cbf12856620e8bafec8b974630a66de3be9db
parent23ef389210f659d7c3d816327e2acf9a397a2966 (diff)
downloadguile-29295b0c903522a1eaefca36043a118a05730771.tar.gz
(next_fluid_num): [From Ludovic Courtès:] Don't trigger
the GC when allocated_fluids_len is zero.
-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.