don't GC unregister null thread
authorMichael Gran <spk121@yahoo.com>
Wed, 30 Mar 2011 04:27:54 +0000 (21:27 -0700)
committerAndy Wingo <wingo@pobox.com>
Wed, 30 Mar 2011 07:32:42 +0000 (09:32 +0200)
GC_unregister_my_thread is only supposed to be called from
a thread other than the main thread, so, it should never be
called when the system is compiled with null threads.

* libguile/threads.c (on_thread_exit)[SCM_USE_NULL_THREADS]: don't
    call GC_unregister_my_thread

libguile/threads.c

index 8dc3414..d81f4f4 100644 (file)
@@ -720,7 +720,9 @@ on_thread_exit (void *v)
 
   scm_i_pthread_setspecific (scm_i_thread_key, NULL);
 
+#if !SCM_USE_NULL_THREADS
   GC_unregister_my_thread ();
+#endif
 }
 
 static scm_i_pthread_once_t init_thread_key_once = SCM_I_PTHREAD_ONCE_INIT;