Re: [PATCH] make do_signal static on i386

Daniel Jacobowitz
2002-10-09T19:31:55Z

On Wed, Oct 09, 2002 at 10:40:39AM -0700, george anzinger wrote:
> This will cause problems for nano_sleep and
> clock_nanosleep. These system calls need to call
> do_signal() in order to meet the POSIX standard which states
> that they are interrupted only by signals that are delivered
> to user code. Other signals are not to interrupt the
> sleep. This is why do_signal() returns this information to
> the caller.
>
> I suppose one could argue that such functions should be in
> signal.c, but save for this signal issue the code is
> common. Seems a waste to support the same code in N
> platforms.

IMO, calling the architecture's do_signal function to handle that is
entirely the wrong way to go. They don't even all have the same
arguments, and the wrappers hi-res-timers put around sys_nanosleep are
hideous.

All of this should be handled correctly in kernel/signal.c, and things
like triggering the debugger should be done from there, not duplicated
in each platform's signal delivery code.

Ideally we should even trigger the debugger without necessarily
knocking the sleeping process out of sleep.

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer