From owner-freebsd-threads@FreeBSD.ORG Thu Jan 8 07:43:55 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 C01FF16A4CE for ; Thu, 8 Jan 2004 07:43:55 -0800 (PST) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id BDB6843D2D for ; Thu, 8 Jan 2004 07:43:54 -0800 (PST) (envelope-from eischen@vigrid.com) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mail.pcnet.com (8.12.10/8.12.1) with ESMTP id i08Fhriw010918; Thu, 8 Jan 2004 10:43:53 -0500 (EST) Date: Thu, 8 Jan 2004 10:43:53 -0500 (EST) From: Daniel Eischen X-Sender: eischen@pcnet5.pcnet.com To: Earl Chew In-Reply-To: <3FFA0958.3020307@agilent.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-threads@freebsd.org Subject: Re: misc/24641: pthread_rwlock_rdlock can deadlock 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: Thu, 08 Jan 2004 15:43:55 -0000 On Mon, 5 Jan 2004, Earl Chew wrote: > However, it appears counter-intuitive to me that if a thread has already > acquired a rdlock(), and the rdlock() is recursive, that a subsequent > call should fail. > > Failure should indicate that the lock could not be acquired. But the > thread _already_ has the lock! So it's hard to explain why the > subsequent call should fail (given the requirement that the > rdlock be recursive). I committed a fix for this in both libc_r and libkse.