On Fri, Sep 14, 2001 at 11:16:32AM +0900, Atsushi Nemoto wrote:
> ralf> The actual fix should be skipping over the faulting instruction
> ralf> when returning from the signal handler.
> Since the signal handler may want to know the faulting instruction,
> the "skipping" should be done AFTER the returning from the handler.
> On the other hand, the handler may do the "skipping" by itself...
> The symptom I reported first ("the process can not be killd by
> SIGKILL") does not occur if the signal handler executed successfully
> because do_signal() will be called when returning from sys_sygreturn.
> The symptom occur if setup_frame() failed. So I still think there is
> a point to check a failure of setup_frame().
Certain I/O models use a large number of signals so we're trying hard to
keep signal latency down. The current code already can guarantee proper
termination in case of a stack fault, just not the shortest way.