1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 13:00:26 +02:00

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.
This commit is contained in:
Andy Wingo 2009-12-20 23:12:34 +01:00
parent d5f9864ffc
commit 7d94e4af98

View file

@ -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 */