From owner-freebsd-threads@FreeBSD.ORG Wed Jul 16 01:22:32 2003 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 666CD37B401; Wed, 16 Jul 2003 01:22:32 -0700 (PDT) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id AD40443F3F; Wed, 16 Jul 2003 01:22:31 -0700 (PDT) (envelope-from eischen@vigrid.com) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mail.pcnet.com (8.12.8/8.12.1) with ESMTP id h6G8M3AI014761; Wed, 16 Jul 2003 04:22:03 -0400 (EDT) Date: Wed, 16 Jul 2003 04:22:03 -0400 (EDT) From: Daniel Eischen X-Sender: eischen@pcnet5.pcnet.com To: David Schultz In-Reply-To: <20030716055247.GA39968@HAL9000.homeunix.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Craig Rodrigues cc: David Xu cc: freebsd-threads@freebsd.org Subject: Re: Threads regression tests (was: Re: ACE Proactor and libkse) X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: deischen@freebsd.org List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Jul 2003 08:22:32 -0000 On Tue, 15 Jul 2003, David Schultz wrote: > On Wed, Jul 16, 2003, David Xu wrote: > > Can you test my libkse patch ? > > http://people.freebsd.org/~davidxu/libpthread_bound.diffs > > If you can test the patch to make sure I don't break signal > > code, then I will commit this patch. > > Is there interest in incrementally building a threads-related > regression test suite in src/tools/regression? This would mean > less breakage for people who are trying to use KSE/libthr, and an > easy way for threads developers to be somewhat confident that > their changes are correct. For example, two weeks ago I was > tearing my hair out over a sigwait() problem that caused the > following program to deadlock. Since I already bothered to > isolate the bug, why not do the last 1% of the work and check in a > test so that it never comes back? Thoughts? That's why lib{c_r|pthread|thr}/test/ exists. > #include > #include > #include > > int main() { > > sigset_t mask; > int sig; > > sigemptyset(&mask); > sigaddset(&mask, SIGALRM); > if (sigprocmask(SIG_BLOCK, &mask, NULL) < 0) > err(1, "sigprocmask"); > > if (raise(SIGALRM) < 0) > err(1, "raise"); > > if (sigwait(&mask, &sig) < 0) > err(1, "sigwait"); > > return (0); > } This seems to be kernel bug (if it is a bug). If you build it without linking any of the threads libraries it still exits the program without sigwait receiving the signal. -- Dan Eischen