Ah, but they should, unless you mean the register structure
is different...
>
> 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.
The other side of this nasty mess is getting a handle on the
registers. They are all passed differently from the system
call stuff in entry.S (or what ever).
>
> Ideally we should even trigger the debugger without necessarily
> knocking the sleeping process out of sleep.
Actually it is the other way round, the debugger is
triggering the task and asking it to go to a "collection"
point.
I would love to do it otherwise. But this is what we have
today. And the debugger is not the only case of signals
that do not get delivered to user code. For the moment, I
would like to make sure the problem can still be addressed.
At least today, a solution is possible.
As to how to deliver such events, what is needed is a way to
make a task arrive at a known point and to wait there. Sure
sounds like a signal to me. I don't see how this can be
done with out waking sleepers, but then there are lots of
things I don't see :)
-- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/