Chez Scheme: fix error escape during fasl read with W^X

Go back to execution mode when fasl-read escapes with an error.
This commit is contained in:
Matthew Flatt 2020-12-05 19:24:20 -07:00
parent 0e08807d3f
commit ef0b97c65e

View File

@ -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)) while (S_mutex_is_owner(&S_tc_mutex))
S_mutex_release(&S_tc_mutex); S_mutex_release(&S_tc_mutex);
#endif /* PTHREADS */ #endif /* PTHREADS */
/* in case error is during fasl read: */
S_thread_end_code_write();
TRAP(tc) = (ptr)1; TRAP(tc) = (ptr)1;
AC0(tc) = (ptr)1; AC0(tc) = (ptr)1;