From owner-freebsd-threads@FreeBSD.ORG Thu Oct 28 23:08:44 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 D127216A4CE; Thu, 28 Oct 2004 23:08:44 +0000 (GMT) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B2FC43D45; Thu, 28 Oct 2004 23:08:44 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) i9SN8e67026728; Thu, 28 Oct 2004 19:08:40 -0400 (EDT) Date: Thu, 28 Oct 2004 19:08:40 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Julian Elischer In-Reply-To: <41817A08.9000706@elischer.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: threads@freebsd.org cc: re@freebsd.org cc: David Xu cc: John Baldwin Subject: Re: Infinite loop bug in libc_r on 4.x with condition variables a nd signals 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: Thu, 28 Oct 2004 23:08:45 -0000 On Thu, 28 Oct 2004, Julian Elischer wrote: > > > David Xu wrote: > > > Here is the cvs log: > > > > Revision Changes Path > > 1.58 +1 -0 src/lib/libpthread/thread/thr_create.c > > 1.14 +1 -1 src/lib/libpthread/thread/thr_find_thread.c > > 1.115 +27 -10 src/lib/libpthread/thread/thr_kern.c > > 1.119 +15 -11 src/lib/libpthread/thread/thr_private.h > > 1.81 +1 -2 src/lib/libpthread/thread/thr_sig.c > > commit message was: > 1. Move thread list flags into new separate member, and atomically > put DEAD thread on GC list, this closes a race between pthread_join > and thr_cleanup. > 2. Introduce a mutex to protect tcb initialization, tls allocation and > deallocation code in rtld seems no lock protection or it is broken, > under stress testing, memory is corrupted. > > > translates to: Yes, these look right. -- Dan Eischen