From owner-freebsd-drivers@FreeBSD.ORG Mon Sep 26 14:54:11 2011 Return-Path: Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 39132106564A for ; Mon, 26 Sep 2011 14:54:11 +0000 (UTC) (envelope-from nitw.satish@gmail.com) Received: from sam.nabble.com (sam.nabble.com [216.139.236.26]) by mx1.freebsd.org (Postfix) with ESMTP id 183508FC13 for ; Mon, 26 Sep 2011 14:54:10 +0000 (UTC) Received: from [192.168.236.26] (helo=sam.nabble.com) by sam.nabble.com with esmtp (Exim 4.72) (envelope-from ) id 1R8CJI-0004xK-8N for freebsd-drivers@freebsd.org; Mon, 26 Sep 2011 07:37:32 -0700 Date: Mon, 26 Sep 2011 07:37:32 -0700 (PDT) From: satish kondapalli To: freebsd-drivers@freebsd.org Message-ID: <1317047852252-4841580.post@n5.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: one question on mutex. X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Sep 2011 14:54:11 -0000 I declared one test mutex in my char module: struct mtx test_mutex; Initialized the above mutex while module loading: mtx_init(&test_mutex,"cdev_test_mutex",NULL,MTX_DEF); and in charter device open() function I called mtx_lock() twice. mtx_lock(&test_mutex); mtx_lock(&test_mutex); Here my question is why the kernel is not blocking on second call of mtx_lock() ? Here i initilaized my mutex type as MTX_DEF. All default MTX_DEF are recursive? (then what is MTX_RECURSE ). -- View this message in context: http://freebsd.1045724.n5.nabble.com/one-question-on-mutex-tp4841580p4841580.html Sent from the freebsd-drivers mailing list archive at Nabble.com.