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

commit 566cae91395e974cb3276e654746900919c1ba25
Author: Andy Wingo <wi...@pobox.com>
AuthorDate: Wed Jul 16 08:50:40 2025 +0200

    Deactivate mutator around pause()
    
    * libguile/scmsigs.c (scm_pause): What a crazy function!
---
 libguile/scmsigs.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c
index 3a9d6dc4a..5904c4d76 100644
--- a/libguile/scmsigs.c
+++ b/libguile/scmsigs.c
@@ -754,7 +754,10 @@ SCM_DEFINE (scm_pause, "pause", 0, 0, 0,
            "handler procedure.  The return value is unspecified.")
 #define FUNC_NAME s_scm_pause
 {
+  scm_thread *thr = SCM_I_CURRENT_THREAD;
+  gc_deactivate (thr->mutator);
   pause ();
+  gc_reactivate (thr->mutator);
   return SCM_UNSPECIFIED;
 }
 #undef FUNC_NAME

Reply via email to