From ef0b97c65e6be34d425900e364dee150ba6653b7 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 5 Dec 2020 19:24:20 -0700 Subject: [PATCH] Chez Scheme: fix error escape during fasl read with W^X Go back to execution mode when fasl-read escapes with an error. --- racket/src/ChezScheme/c/schsig.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/racket/src/ChezScheme/c/schsig.c b/racket/src/ChezScheme/c/schsig.c index b3dd380c16..5715f3ada0 100644 --- a/racket/src/ChezScheme/c/schsig.c +++ b/racket/src/ChezScheme/c/schsig.c @@ -390,6 +390,9 @@ static void do_error(type, who, s, args) iptr type; const char *who, *s; ptr arg while (S_mutex_is_owner(&S_tc_mutex)) S_mutex_release(&S_tc_mutex); #endif /* PTHREADS */ + + /* in case error is during fasl read: */ + S_thread_end_code_write(); TRAP(tc) = (ptr)1; AC0(tc) = (ptr)1;