[Top][All Lists]

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

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.3-45-g9f7537

From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.3-45-g9f7537d
Date: Tue, 29 Nov 2011 19:27:21 +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".

The branch, stable-2.0 has been updated
       via  9f7537dcabbded64afd631c0d57c84aced8173c5 (commit)
       via  7a4eb5e5ece4ec456a4d0974463393199094708c (commit)
      from  8ac704338d5e548f9dbf6ce3b12ef68a972e099b (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 9f7537dcabbded64afd631c0d57c84aced8173c5
Author: Andy Wingo <address@hidden>
Date:   Tue Nov 29 20:26:40 2011 +0100

    collect a little in call-with-new-thread
    * libguile/threads.c (scm_call_with_new_thread): Collect a little before
      making a new thread.  Our adjust_gc_frequency hack doesn't work well
      if the main allocation load is thread creation, as in  This does not appreciably
      affect the speed of the test in that bug, but does effectively limit
      the image size.

commit 7a4eb5e5ece4ec456a4d0974463393199094708c
Author: Andy Wingo <address@hidden>
Date:   Tue Nov 29 20:24:23 2011 +0100

    adjust_gc_frequency before gc, for more precision
    * libguile/gc.c (scm_init_gc): Run the adjust_gc_frequency from the
      before-gc-hook, not the after-gc-hook.  More precise, this way.


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

diff --git a/libguile/gc.c b/libguile/gc.c
index cc0904e..6d420c8 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -989,10 +989,10 @@ scm_init_gc ()
+  scm_c_hook_add (&scm_before_gc_c_hook, adjust_gc_frequency, NULL, 0);
   scm_c_hook_add (&scm_before_gc_c_hook, queue_after_gc_hook, NULL, 0);
   scm_c_hook_add (&scm_before_gc_c_hook, start_gc_timer, NULL, 0);
   scm_c_hook_add (&scm_after_gc_c_hook, accumulate_gc_timer, NULL, 0);
-  scm_c_hook_add (&scm_after_gc_c_hook, adjust_gc_frequency, NULL, 0);
   GC_set_start_callback (run_before_gc_c_hook);
diff --git a/libguile/threads.c b/libguile/threads.c
index e4d3e21..f71c83c 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -1006,6 +1006,7 @@ SCM_DEFINE (scm_call_with_new_thread, 
"call-with-new-thread", 1, 1, 0,
   SCM_ASSERT (SCM_UNBNDP (handler) || scm_is_true (scm_procedure_p (handler)),
              handler, SCM_ARG2, FUNC_NAME);
+  GC_collect_a_little ();
   data.parent = scm_current_dynamic_state ();
   data.thunk = thunk;
   data.handler = handler;

GNU Guile

reply via email to

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