From owner-cvs-src@FreeBSD.ORG Mon Dec 20 20:40:48 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 907B516A4D4 for ; Mon, 20 Dec 2004 20:40:48 +0000 (GMT) Received: from mail6.speakeasy.net (mail6.speakeasy.net [216.254.0.206]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB69F43D53 for ; Mon, 20 Dec 2004 20:40:47 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 5335 invoked from network); 20 Dec 2004 20:40:47 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 20 Dec 2004 20:40:46 -0000 Received: from [10.50.41.243] (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.12.11/8.12.11) with ESMTP id iBKKeamI040670; Mon, 20 Dec 2004 15:40:41 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Daniel Eischen Date: Mon, 20 Dec 2004 11:47:31 -0500 User-Agent: KMail/1.6.2 References: <200412181807.iBII7bHN071121@repoman.freebsd.org> In-Reply-To: <200412181807.iBII7bHN071121@repoman.freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200412201147.31116.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libpthread pthread.map src/lib/libpthread/sys thr_error.c src/lib/libpthread/thread thr_cancel.c thr_clean.c thr_concurrency.c thr_cond.c thr_create.c thr_fork.c thr_init.c thr_kern.c thr_mutex.c thr_once.c thr_private.h thr_sem.c ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Dec 2004 20:40:48 -0000 On Saturday 18 December 2004 01:07 pm, Daniel Eischen wrote: > deischen 2004-12-18 18:07:37 UTC > > FreeBSD src repository > > Modified files: > lib/libpthread pthread.map > lib/libpthread/sys thr_error.c > lib/libpthread/thread thr_cancel.c thr_clean.c > thr_concurrency.c thr_cond.c > thr_create.c thr_fork.c thr_init.c > thr_kern.c thr_mutex.c thr_once.c > thr_private.h thr_sem.c thr_sig.c > thr_sigsuspend.c thr_spinlock.c > Log: > Use a generic way to back threads out of wait queues when handling > signals instead of having more intricate knowledge of thread state > within signal handling. > > Simplify signal code because of above (by David Xu). > > Use macros for libpthread usage of pthread_cleanup_push() and > pthread_cleanup_pop(). This removes some instances of malloc() > and free() from the semaphore and pthread_once() implementations. > > When single threaded and forking(), make sure that the current > thread's signal mask is inherited by the forked thread. > > Use private mutexes for libc and libpthread. Signals are > deferred while threads hold private mutexes. This fix also > breaks www/linuxpluginwrapper; a patch that fixes it is at > http://people.freebsd.org/~deischen/kse/linuxpluginwrapper.diff > > Fix race condition in condition variables where handling a > signal (pthread_kill() or kill()) may not see a wakeup > (pthread_cond_signal() or pthread_cond_broadcast()). > > In collaboration with: davidxu Thanks! These patches help mono out a lot. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org