Reset signal and exit handlers in subshells.

* geesh/shell.scm (%subshell): In the child process, restore all
signal handlers to their original actions and unset the current
'atexit' handler.
This commit is contained in:
Timothy Sample 2019-01-01 22:11:19 -05:00
parent c169a90753
commit ae769985be
1 changed files with 2 additions and 0 deletions

View File

@ -223,6 +223,8 @@ process."
(match (primitive-fork)
(0 (with-continuation-barrier
(lambda ()
(restore-signals)
(set-atexit! #f)
(thunk)
(primitive-exit (get-status))))
(primitive-exit 1))