From: Joe Marshall Date: Wed, 23 Mar 1988 18:31:25 +0000 (+0000) Subject: Make Entity application check for interrupts to avoid blowing machine X-Git-Tag: 20090517-FFI~12853 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=428338b39508ff2e50a4234dc0ad879dc20ff317;p=mit-scheme.git Make Entity application check for interrupts to avoid blowing machine away in the case of an entity's procedure being that entity. This will allow you to abort if you are quick enough, but no stack check is currently being done, so errors here would probably blow scheme away anyhow. --- diff --git a/v7/src/microcode/interp.c b/v7/src/microcode/interp.c index f92f26f2b..0ce0040a5 100644 --- a/v7/src/microcode/interp.c +++ b/v7/src/microcode/interp.c @@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising, promotional, or sales literature without prior written consent from MIT in each case. */ -/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/interp.c,v 9.41 1988/03/13 15:52:28 jinx Exp $ +/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/interp.c,v 9.42 1988/03/23 18:31:25 jrm Exp $ * * This file contains the heart of the Scheme Scode * interpreter @@ -1379,7 +1379,7 @@ Perform_Application: Push(Fast_Vector_Ref(Function, ENTITY_OPERATOR)); Push(nargs + 1); /* No interrupts, etc. */ - goto Perform_Application; + goto Apply_Non_Trapping; } /* Interpret() continues on the next page */ diff --git a/v8/src/microcode/interp.c b/v8/src/microcode/interp.c index 3a69a8b73..c542948f8 100644 --- a/v8/src/microcode/interp.c +++ b/v8/src/microcode/interp.c @@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising, promotional, or sales literature without prior written consent from MIT in each case. */ -/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/interp.c,v 9.41 1988/03/13 15:52:28 jinx Exp $ +/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/interp.c,v 9.42 1988/03/23 18:31:25 jrm Exp $ * * This file contains the heart of the Scheme Scode * interpreter @@ -1379,7 +1379,7 @@ Perform_Application: Push(Fast_Vector_Ref(Function, ENTITY_OPERATOR)); Push(nargs + 1); /* No interrupts, etc. */ - goto Perform_Application; + goto Apply_Non_Trapping; } /* Interpret() continues on the next page */