From 7d94e4af9840c1f273ded31c3a39a6bb6a0496a5 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Sun, 20 Dec 2009 23:12:34 +0100 Subject: [PATCH] handle interrupts in mv-call, return/values * libguile/vm-i-system.c (mv-call, return/values): Interrupt before entering and leaving MV frames as well as normal frames. --- libguile/vm-i-system.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index 09da85f9e..a12f46570 100644 --- a/libguile/vm-i-system.c +++ b/libguile/vm-i-system.c @@ -917,6 +917,8 @@ VM_DEFINE_INSTRUCTION (58, mv_call, "mv-call", 4, -1, 1) vm_mv_call: x = sp[-nargs]; + VM_HANDLE_INTERRUPTS; + /* * Subprogram call */ @@ -1127,6 +1129,8 @@ VM_DEFINE_INSTRUCTION (64, return_values, "return/values", 1, -1, -1) EXIT_HOOK (); RETURN_HOOK (); + VM_HANDLE_INTERRUPTS; + if (nvalues != 1 && SCM_FRAME_MV_RETURN_ADDRESS (fp)) { /* A multiply-valued continuation */