summaryrefslogtreecommitdiff
path: root/libguile/gc-freelist.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/gc-freelist.c')
-rw-r--r--libguile/gc-freelist.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libguile/gc-freelist.c b/libguile/gc-freelist.c
index 1b9780531..8fce129db 100644
--- a/libguile/gc-freelist.c
+++ b/libguile/gc-freelist.c
@@ -168,8 +168,11 @@ scm_gc_init_freelist (void)
int init_heap_size_2
= scm_getenv_int ("GUILE_INIT_SEGMENT_SIZE_2", SCM_DEFAULT_INIT_HEAP_SIZE_2);
- scm_i_freelist = SCM_EOL;
- scm_i_freelist2 = SCM_EOL;
+ /* These are the thread-local freelists. */
+ scm_key_create (&scm_i_freelist, free);
+ scm_key_create (&scm_i_freelist2, free);
+ SCM_FREELIST_CREATE (scm_i_freelist);
+ SCM_FREELIST_CREATE (scm_i_freelist2);
scm_init_freelist (&scm_i_master_freelist2, 2,
scm_getenv_int ("GUILE_MIN_YIELD_2", SCM_DEFAULT_MIN_YIELD_2));