wingo pushed a commit to branch wip-whippet
in repository guile.

commit 8cb15a9e1b7206af06327d8be5624353dab052da
Author: Andy Wingo <wi...@pobox.com>
AuthorDate: Sun May 4 10:01:50 2025 +0200

    More refactors off BDW API
    
    * libguile/gc.c (gc): Use Guile finalization API, not BDW.
    * libguile/threads.c (guilify_self_2): Don't finalize here.
---
 libguile/gc.c      | 3 ++-
 libguile/threads.c | 3 ---
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/libguile/gc.c b/libguile/gc.c
index 927394393..42c93cfc3 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -36,6 +36,7 @@
 #include "deprecation.h"
 #include "dynwind.h"
 #include "eval.h"
+#include "finalizers.h"
 #include "gen-scmconfig.h"
 #include "gsubr.h"
 #include "hashtab.h"
@@ -440,7 +441,7 @@ SCM_DEFINE (scm_gc, "gc", 0, 0, 0,
   scm_i_gc ("call");
   /* If you're calling scm_gc(), you probably want synchronous
      finalization.  */
-  GC_invoke_finalizers ();
+  scm_run_finalizers ();
   return SCM_UNSPECIFIED;
 }
 #undef FUNC_NAME
diff --git a/libguile/threads.c b/libguile/threads.c
index 69e422f76..bf9997ed7 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -464,9 +464,6 @@ guilify_self_2 (SCM dynamic_state)
   t->dynstack.top = t->dynstack.base + SCM_DYNSTACK_HEADER_LEN;
 
   t->block_asyncs = 0;
-
-  /* See note in finalizers.c:queue_finalizer_async().  */
-  GC_invoke_finalizers ();
 }
 
 

Reply via email to