summaryrefslogtreecommitdiff
path: root/libguile/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/gc.c')
-rw-r--r--libguile/gc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libguile/gc.c b/libguile/gc.c
index 5f61a1de8..6d44f5e38 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -227,6 +227,10 @@ scm_t_c_hook scm_after_gc_c_hook;
static void
run_before_gc_c_hook (void)
{
+ if (!SCM_I_CURRENT_THREAD)
+ /* GC while a thread is spinning up; punt. */
+ return;
+
scm_c_hook_run (&scm_before_gc_c_hook, NULL);
}