guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.0-146-g653cc


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.0-146-g653ccd7
Date: Wed, 30 Mar 2011 07:33:07 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=653ccd78fa6770c692f5a737ad70de5aedbfcc7f

The branch, stable-2.0 has been updated
       via  653ccd78fa6770c692f5a737ad70de5aedbfcc7f (commit)
       via  4000d0641f8a2282a9c52eea33ad91c76625d906 (commit)
      from  443f25dcff49f0a920d4149e29bcb3ae9f64ee02 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 653ccd78fa6770c692f5a737ad70de5aedbfcc7f
Author: Michael Gran <address@hidden>
Date:   Tue Mar 29 21:27:54 2011 -0700

    don't GC unregister null thread
    
    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

commit 4000d0641f8a2282a9c52eea33ad91c76625d906
Author: Michael Gran <address@hidden>
Date:   Tue Mar 29 21:25:04 2011 -0700

    check for GC_allow_register_threads
    
    This is not present in earlier versions of BDW-GC
    
    * configure.ac: check for GC_allow_register_threads
    * libguile/threads.c (scm_i_init_thread_for_guile): Only call
      GC_allow_register_threads if it is present.

-----------------------------------------------------------------------

Summary of changes:
 configure.ac       |    2 +-
 libguile/threads.c |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/configure.ac b/configure.ac
index e5b8379..4fc2553 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1238,7 +1238,7 @@ save_LIBS="$LIBS"
 LIBS="$BDW_GC_LIBS $LIBS"
 CFLAGS="$BDW_GC_CFLAGS $CFLAGS"
 
-AC_CHECK_FUNCS([GC_do_blocking GC_call_with_gc_active GC_pthread_exit 
GC_pthread_cancel])
+AC_CHECK_FUNCS([GC_do_blocking GC_call_with_gc_active GC_pthread_exit 
GC_pthread_cancel GC_allow_register_threads])
 
 # Though the `GC_do_blocking ()' symbol is present in GC 7.1, it is not
 # declared, and has a different type (returning void instead of
diff --git a/libguile/threads.c b/libguile/threads.c
index ad5bbe1..d81f4f4 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -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;
@@ -772,8 +774,10 @@ scm_i_init_thread_for_guile (struct GC_stack_base *base, 
SCM parent)
          */
          scm_i_init_guile (base);
 
+#ifdef HAVE_GC_ALLOW_REGISTER_THREADS
           /* Allow other threads to come in later.  */
           GC_allow_register_threads ();
+#endif
 
          scm_i_pthread_mutex_unlock (&scm_i_init_mutex);
        }


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]