diff options
author | Andy Wingo <wingo@pobox.com> | 2025-05-04 09:12:52 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2025-05-04 09:12:52 +0200 |
commit | 17ca7a928e32dfa67aa986b55d214614c835927c (patch) | |
tree | 0da512871b557493076c2a32a46da0004958a969 /libguile/init.c | |
parent | 4f8d4e6c34285d0891076d707bfe37afd41ae1f9 (diff) | |
download | guile-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.c | 3 |
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 (); } |