From: Chris Hanson Date: Fri, 15 Sep 1995 05:51:12 +0000 (+0000) Subject: Previous attempt to implement a mechanism to restore the signal mask X-Git-Tag: 20090517-FFI~5948 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=6149fb514981cc6f3c3b888e17b39e42687ace5e;p=mit-scheme.git Previous attempt to implement a mechanism to restore the signal mask when aborting to the interpreter was flawed: the signal mask was saved once, restored on the first abort, and left unchanged after that. The flaw is repaired by re-saving the signal mask after every abort. --- diff --git a/v7/src/microcode/interp.c b/v7/src/microcode/interp.c index 559c62281..5bfb157a6 100644 --- a/v7/src/microcode/interp.c +++ b/v7/src/microcode/interp.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: interp.c,v 9.84 1994/06/02 19:13:16 cph Exp $ +$Id: interp.c,v 9.85 1995/09/15 05:51:12 cph Exp $ Copyright (c) 1988-94 Massachusetts Institute of Technology @@ -462,8 +462,8 @@ DEFUN (Interpret, (pop_return_p), Boolean pop_return_p) */ bind_interpreter_state (&new_state); - preserve_signal_mask (); Which_Way = (setjmp (interpreter_catch_env)); + preserve_signal_mask (); Set_Time_Zone (Zone_Working); Import_Registers (); diff --git a/v8/src/microcode/interp.c b/v8/src/microcode/interp.c index cf60b7dc8..7067006d0 100644 --- a/v8/src/microcode/interp.c +++ b/v8/src/microcode/interp.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: interp.c,v 9.86 1995/07/26 23:38:51 adams Exp $ +$Id: interp.c,v 9.87 1995/09/15 05:48:48 cph Exp $ Copyright (c) 1988-1995 Massachusetts Institute of Technology @@ -462,8 +462,8 @@ DEFUN (Interpret, (pop_return_p), Boolean pop_return_p) */ bind_interpreter_state (&new_state); - preserve_signal_mask (); Which_Way = (setjmp (interpreter_catch_env)); + preserve_signal_mask (); Set_Time_Zone (Zone_Working); Import_Registers ();