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>