Subject: Re: SIGTRAP for traced processes and COMPAT_MACH
To: Emmanuel Dreyfus <manu@netbsd.org>
From: Martin Husemann <martin@duskware.de>
List: tech-kern
Date: 11/29/2003 15:27:31
On Sat, Nov 29, 2003 at 03:08:33PM +0100, Emmanuel Dreyfus wrote:
> 3) the process destroys the port that catches memory faults exceptions
> Here, we would restore the signal mask to receive SIGSEGV? This
> anihiliate what the process requested in step 2, and we are not
> consistent with Darwin.
Let me try to rephrase how I think it should work:
- you have two emulation internal vectors, one for sigmask, one for
exceptions
- from this you calculate an effective sigmask and set it whenever one
of those vectors is changed
- when you catch a signal, you check the exception vector first and only
handle that if it has this signal enabled
Am I missing something obvious?
Martin