io.launcher.unix, unix.ffi: Reset ignored signal in process launcher. Fix SIG_DFL etc.
parent
ed73d4c63a
commit
f12633e73b
|
@ -75,7 +75,12 @@ IN: io.launcher.unix
|
|||
dup get-environment set-os-envs
|
||||
] when ;
|
||||
|
||||
! Ignored signals are not reset to the default handler.
|
||||
: reset-ignored-signals ( process -- process )
|
||||
SIGPIPE SIG_DFL signal drop ;
|
||||
|
||||
: spawn-process ( process -- * )
|
||||
[ reset-ignored-signals ] [ 2drop 248 _exit ] recover
|
||||
[ setup-process-group ] [ 2drop 249 _exit ] recover
|
||||
[ setup-priority ] [ 2drop 250 _exit ] recover
|
||||
[ setup-redirection ] [ 2drop 251 _exit ] recover
|
||||
|
|
|
@ -39,9 +39,9 @@ CONSTANT: DT_LNK 10
|
|||
CONSTANT: DT_SOCK 12
|
||||
CONSTANT: DT_WHT 14
|
||||
|
||||
: SIG_EFF ( -- obj ) -1 void* <ref> ; inline
|
||||
: SIG_DFL ( -- obj ) 0 void* <ref> ; inline
|
||||
: SIG_IGN ( -- obj ) 1 void* <ref> ; inline
|
||||
: SIG_EFF ( -- obj ) ALIEN: -1 void* <ref> ; inline
|
||||
: SIG_DFL ( -- obj ) ALIEN: 0 void* <ref> ; inline
|
||||
: SIG_IGN ( -- obj ) ALIEN: 1 void* <ref> ; inline
|
||||
|
||||
LIBRARY: libc
|
||||
|
||||
|
|
Loading…
Reference in New Issue