Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Sep 2004 00:36:21 -0400 (EDT)
From:      Daniel Eischen <deischen@freebsd.org>
To:        David Xu <davidxu@freebsd.org>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: SIGILL @ pthread_create() after execv -FIXED-
Message-ID:  <Pine.GSO.4.43.0409170034430.27613-100000@sea.ntplx.net>
In-Reply-To: <414A17C8.30703@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.43.0409170034430.27613-100000>