summaryrefslogtreecommitdiff
path: root/libguile/init.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2025-05-04 09:12:52 +0200
committerAndy Wingo <wingo@pobox.com>2025-05-04 09:12:52 +0200
commit17ca7a928e32dfa67aa986b55d214614c835927c (patch)
tree0da512871b557493076c2a32a46da0004958a969 /libguile/init.c
parent4f8d4e6c34285d0891076d707bfe37afd41ae1f9 (diff)
downloadguile-17ca7a928e32dfa67aa986b55d214614c835927c.tar.gz
Don't run finalizers until Guile is initialized
Prevents a problem where with-exception-handler isn't defined yet by the time the first finalizer gets kicked off (it's a file port, probably one that is closed already...) * libguile/finalizers.h: * libguile/init.c (scm_i_init_guile): * libguile/finalizers.c (queue_finalizer_async): Mark maybe-unused. (scm_init_finalizers): Rework to only enable notification when Guile is finished initializing.
Diffstat (limited to 'libguile/init.c')
-rw-r--r--libguile/init.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libguile/init.c b/libguile/init.c
index 12a0c6671..32ff25cc6 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -390,7 +390,6 @@ scm_i_init_guile (struct gc_stack_addr base)
scm_init_dynwind (); /* requires smob_prehistory */
scm_init_eq ();
scm_init_error ();
- scm_init_finalizers ();
scm_init_fluids ();
scm_init_control (); /* requires fluids */
scm_init_feature ();
@@ -505,5 +504,5 @@ scm_i_init_guile (struct gc_stack_addr base)
scm_init_threads_default_dynamic_state ();
/* Finally, cause finalizers to run in a separate thread. */
- scm_init_finalizer_thread ();
+ scm_init_finalizers ();
}