From owner-cvs-all Fri Mar 14 11:23: 7 2003 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 688D537B404 for ; Fri, 14 Mar 2003 11:23:05 -0800 (PST) Received: from mail.speakeasy.net (mail17.speakeasy.net [216.254.0.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 33A8243FE0 for ; Fri, 14 Mar 2003 11:23:01 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 23041 invoked from network); 14 Mar 2003 19:23:07 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail17.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 14 Mar 2003 19:23:07 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.8/8.12.8) with ESMTP id h2EJMwOv053621; Fri, 14 Mar 2003 14:22:58 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200303140102.h2E12lxt019206@repoman.freebsd.org> Date: Fri, 14 Mar 2003 14:23:17 -0500 (EST) From: John Baldwin To: David Xu Subject: RE: cvs commit: src/lib/libpthread/thread thr_rwlock.c Cc: cvs-all@FreeBSD.org, cvs-src@FreeBSD.org, src-committers@FreeBSD.org Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 14-Mar-2003 David Xu wrote: > davidxu 2003/03/13 17:02:47 PST > > FreeBSD src repository > > Modified files: > lib/libpthread/thread thr_rwlock.c > Log: > Fix a bug in rwlock. When a rwlock was locked by reader threads, a > writter thread can block reader threads to get read lock. That's not a bug. That is a very common way of implementing reader writer locks. The idea is that if a writer is waiting for the lock you make later read requests wait for the lock so that they don't starve the writer. This is how Solaris rw locks work for example. The in-kernel sx locks don't currently work that way, but that may change at some point in the future. For more discussion on why Solaris chose this route, go find a copy of Solaris Internals. You probably should revert this and find out if this was an intentional design decision rather than a "bug". -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message