fix hook invocation during thread guilification
authorAndy Wingo <wingo@pobox.com>
Mon, 30 Jan 2012 15:42:09 +0000 (16:42 +0100)
committerAndy Wingo <wingo@pobox.com>
Mon, 30 Jan 2012 16:06:37 +0000 (17:06 +0100)
* libguile/gc.c (run_before_gc_c_hook): Don't run pre-GC hooks from a
  thread that is in the process of guilification.

libguile/gc.c

index 7816801..fd37046 100644 (file)
@@ -234,6 +234,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);
 }