From owner-freebsd-hackers@FreeBSD.ORG Wed Nov 2 20:55:47 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A144816A41F for ; Wed, 2 Nov 2005 20:55:47 +0000 (GMT) (envelope-from dinesh@alphaque.com) Received: from ns2.alphaque.com (ns2.alphaque.com [202.75.47.153]) by mx1.FreeBSD.org (Postfix) with SMTP id 5A53D43D4C for ; Wed, 2 Nov 2005 20:55:45 +0000 (GMT) (envelope-from dinesh@alphaque.com) Received: (qmail 82270 invoked by uid 0); 2 Nov 2005 20:55:44 -0000 Received: from lucifer.net-gw.com (HELO prophet.alphaque.com) (202.75.47.153) by lucifer.net-gw.com with SMTP; 2 Nov 2005 20:55:44 -0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) by prophet.alphaque.com (8.13.4/8.13.4) with ESMTP id jA2KtAxm027698; Thu, 3 Nov 2005 04:55:10 +0800 (MYT) (envelope-from dinesh@alphaque.com) Message-ID: <436927AE.4030809@alphaque.com> Date: Thu, 03 Nov 2005 04:55:10 +0800 From: Dinesh Nair User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8b) Gecko/20050915 MIME-Version: 1.0 To: "M. Warner Losh" References: <20051027.205250.55834228.imp@bsdimp.com> <43690424.1040904@alphaque.com> <43690EED.10703@elischer.org> <20051102.132709.101593999.imp@bsdimp.com> In-Reply-To: <20051102.132709.101593999.imp@bsdimp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, julian@elischer.org Subject: Re: locking in a device driver X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Nov 2005 20:55:47 -0000 On 11/03/05 04:27 M. Warner Losh said the following: > that this is the case: sleep in an ioctl, and the entire process hangs > until the ioctl returns. which is probably what's happening in my case. i've got 4 threads spun off, and one thread reads what the other writes and vice versa. after writing, a thread goes off into an ioctl or a read where a tsleep() is executed. this would block the reader thread as well if libc_r were to be used, as is what i am using. -- Regards, /\_/\ "All dogs go to heaven." dinesh@alphaque.com (0 0) http://www.alphaque.com/ +==========================----oOO--(_)--OOo----==========================+ | for a in past present future; do | | for b in clients employers associates relatives neighbours pets; do | | echo "The opinions here in no way reflect the opinions of my $a $b." | | done; done | +=========================================================================+