Subject: Re: psignal() and COMPAT_MACH exceptions
To: Christos Zoulas <christos@zoulas.com>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: tech-kern
Date: 12/01/2003 13:15:43
Emmanuel Dreyfus <manu@netbsd.org> wrote:

> 2) softsignals will be handled in darwin_sendsig. This solves the
> special case of SIGTRAP in sys_execve without the need for modifying MI
> code.

Um, I spoke too fast. This won't work, as softsignals are not raised for
masked signals, but they should be raised for unmasked but uncatched
signals (ie: unmasked signal with no signal handler installed). And we
only go in darwin_sendsig if the signal is catched by a signal handler.

Raising the exception could be achieved through kqueue, but I don't see
how I'll be able to prevent the signal emission. I'm back to the
emulation hook in kpsignal2 to inhibit signal sending.

Except of course if there are other suggestions...

-- 
Emmanuel Dreyfus
Il y a 10 sortes de personnes dans le monde: ceux qui comprennent 
le binaire et ceux qui ne le comprennent pas.
manu@netbsd.org