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:
parent
c169a90753
commit
ae769985be
|
@ -223,6 +223,8 @@ process."
|
||||||
(match (primitive-fork)
|
(match (primitive-fork)
|
||||||
(0 (with-continuation-barrier
|
(0 (with-continuation-barrier
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
(restore-signals)
|
||||||
|
(set-atexit! #f)
|
||||||
(thunk)
|
(thunk)
|
||||||
(primitive-exit (get-status))))
|
(primitive-exit (get-status))))
|
||||||
(primitive-exit 1))
|
(primitive-exit 1))
|
||||||
|
|
Loading…
Reference in New Issue