diff options
-rw-r--r-- | libguile/ChangeLog | 5 | ||||
-rw-r--r-- | libguile/fluids.c | 3 |
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. |