From owner-freebsd-threads@FreeBSD.ORG Fri Jun 11 18:15:39 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 04C5416A4CE; Fri, 11 Jun 2004 18:15:39 +0000 (GMT) Received: from mail.mcneil.com (rrcs-west-24-199-45-54.biz.rr.com [24.199.45.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id EA68F43D49; Fri, 11 Jun 2004 18:15:38 +0000 (GMT) (envelope-from sean@mcneil.com) Received: from localhost (localhost.mcneil.com [127.0.0.1]) by mail.mcneil.com (Postfix) with ESMTP id 9F908FD087; Fri, 11 Jun 2004 11:15:38 -0700 (PDT) Received: from mail.mcneil.com ([127.0.0.1]) by localhost (server.mcneil.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 68545-10; Fri, 11 Jun 2004 11:15:38 -0700 (PDT) Received: from [24.199.45.54] (mcneil.com [24.199.45.54]) by mail.mcneil.com (Postfix) with ESMTP id 39096FD071; Fri, 11 Jun 2004 11:15:38 -0700 (PDT) From: Sean McNeil To: David Xu In-Reply-To: <40C9C465.5080305@freebsd.org> References: <1086944114.76446.5.camel@server.mcneil.com> <1086946114.76446.16.camel@server.mcneil.com> <40C9C465.5080305@freebsd.org> Content-Type: text/plain Message-Id: <1086977738.70017.9.camel@server.mcneil.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Fri, 11 Jun 2004 11:15:38 -0700 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at mcneil.com cc: freebsd-threads@freebsd.org cc: freebsd-amd64@freebsd.org Subject: Re: signal handler priority issue X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jun 2004 18:15:39 -0000 On Fri, 2004-06-11 at 07:40, David Xu wrote: > Sean McNeil wrote: > > >Sorry for top-posting, but it may be easier to read this way.... > > > >The program below has an optimization bug in that done isn't declare > >volatile. With that fixed, it works just fine. I've been attempting to > >get boehm-gc working and it seems OK with libc_r, but fails with > >libpthread. It is essentially doing what the program below does, but > >for some reason it gets stuck. Has anyone else been experimenting with > >boehm-gc? > > > >Also, it would really help if I had a debugger that worked with kse > >threads. How is that going? Tracking down pthread issues right now has > >been difficult with the current debugger. Can anyone throw some patches > >my way that may help? > > > > > Please try the patch: > http://people.freebsd.org/~davidxu/kse/thr_sigsuspend.c.diff > > the patch is for file /usr/src/lib/libpthread/thread/thr_sigsuspend.c, > I believe I caught a bug in the sigsuspend(), thread > should scan pending signals first, only when there is > no pending signal in wait set, the thread can sleep. Also, the mask provided by the sigsuspend call should govern what handlers get called. So the sigmask should be left in place until after the _thr_sig_check_pending(curthread) call. Thanks for catching this :) Sean