SIGILL @ pthread_create() after execv -FIXED-

Daniel Eischen deischen at freebsd.org
Thu Sep 16 21:36:25 PDT 2004


On Fri, 17 Sep 2004, David Xu wrote:

> Julian Elischer wrote:
>
> > so we need to keep track of all signals accepted by the process (which
> > is an
> > OR of the signals accepted by all the threads) and set it back to that
> > state
> > regardless of what thread is doing the exit.
> > (yuck that is quite a difficult question)  I wonder if the "signal
> > gatherring thread"
> > has that info?
> >
> > Maybe if the signal thread exits  it should look to see if the process
> > is exec/exiting
> > (by looking at the thread_single mode) and transfer its mask to teh
> > 'survicor' thread?
> >
> > David?
> >
> I think this becauses the M:N thread masks all signals except SIGSTOP
> and SIGKILL,
> the real signal mask in userland needs to be set back to kernel,
> libpthread should
> provide a wrapper for execv syscall, Dan?  fix me if I am wrong.

Potential (untested) patch at:

	http://people.freebsd.org/~deischen/kse/execve.diffs

-- 
Dan Eischen



More information about the freebsd-threads mailing list