Subject: Re: psignal() and COMPAT_MACH exceptions
To: Emmanuel Dreyfus <manu@NetBSD.org>
From: Matthew Orgass <darkstar@city-net.com>
List: tech-kern
Date: 11/29/2003 17:12:24
On 2003-11-29 manu@NetBSD.org wrote:

> All Darwin or Mach processes get their signal masks sets so that any
> ignorable signal is ignored: everything except SIGKILL and SIGSTOP.

  Does this work properly for ptrace?

> Problem: I cannot recall psignal() from the kqueue listener, as the
> signal is masked by the real signal mask. I cannot unmask it
> temporarily, as other lwp may fall in this hole if the current lwp comes
> to sleep.
>
> Additionnaly, I would have to duplicate all trapsignal and do
> mach_trapsignal to suppress the signal mask checks there too.

  It looks like you really want to intercept the signal before it gets to
the standard signal handling.  What is the problem with adding an
emulation specific call to do exactly that? (which should be for
kpsignal2, actually).


Matthew Orgass
darkstar@city-net.com