From owner-freebsd-threads@FreeBSD.ORG Fri Sep 17 04:36:25 2004 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8BF5916A4CF; Fri, 17 Sep 2004 04:36:25 +0000 (GMT) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3935843D54; Fri, 17 Sep 2004 04:36:25 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) i8H4aLML027550; Fri, 17 Sep 2004 00:36:21 -0400 (EDT) Date: Fri, 17 Sep 2004 00:36:21 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: David Xu In-Reply-To: <414A17C8.30703@freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) cc: Julian Elischer cc: freebsd-threads@freebsd.org Subject: Re: SIGILL @ pthread_create() after execv -FIXED- X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Daniel Eischen List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Sep 2004 04:36:25 -0000 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