Subject: Re: SIGTRAP for traced processes and COMPAT_MACH
To: Jaromir Dolecek <jdolecek@netbsd.org>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: tech-kern
Date: 11/28/2003 22:51:14
Jaromir Dolecek <jdolecek@netbsd.org> wrote:

> > Yes, that's the problem: Mach exceptions ignore the signal mask, but if
> > no exception port was set to catch an exeption, then a signal is
> > delivered, and this signal should respect the signal mask. Therefore
> > alowing anything in the signal mask is not the solution.
> 
> Then, adjust the signal mask whenever the exception port is
> setup. I still don't see why you'd need to do MI changes to support
> this.

If I do this, how can I support the followiing scenario:

1) the process sets an exception handler to catch memory faults
2) the process sets its signal mask to catch SIGSEGV

On MacOS X it will still get exceptions instead of SIGSEGV. On NetBSD,
if we use the signal mask to inhibit the signal, step 2 will cause
signals to be delivered where exception should be. 

This does not seems to be the right solution.
-- 
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