Subject: Re: psignal() and COMPAT_MACH exceptions
To: Matthew Orgass <darkstar@city-net.com>
From: Christos Zoulas <christos@zoulas.com>
List: tech-kern
Date: 11/30/2003 20:01:47
On Nov 29,  5:12pm, darkstar@city-net.com (Matthew Orgass) wrote:
-- Subject: Re: psignal() and COMPAT_MACH exceptions

| 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).
| 

Yes, this is the direction I am leaning towards.


christos