Subject: Re: remotely exitting a process
To: Emmanuel Dreyfus <manu@netbsd.org>
From: Frank van der Linden <fvdl@netbsd.org>
List: tech-kern
Date: 12/04/2005 11:21:08
Emmanuel Dreyfus wrote
>That does not fix all the problems: the parent still notices the SIGKILL
>if it called wait4() on the child. Another idea?
>
>
>
I suspect this is easy to fix.
Processes that die because of a signal go through sigexit(). You can
either change the process structure to have a p_exitcode, which, if !=
-1, replaces the normal exitsig value passed to exit1() in that
function. p_exitcode would be set to the exit value passed to
linux_sys_exit_pgroup().
Or, perhaps cleaner since it avoids changing the process structure, you
can create an emul_sigexithook, which may be NULL, but if it isn't, it
will return the value passed to exit1 (i.e. the value set in
linux_sys_exit_pgroup()).
- Frank