From owner-p4-projects@FreeBSD.ORG Wed Aug 22 18:17:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D81C16A421; Wed, 22 Aug 2007 18:17:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 056AC16A417 for ; Wed, 22 Aug 2007 18:17:37 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outF.internet-mail-service.net (outF.internet-mail-service.net [216.240.47.229]) by mx1.freebsd.org (Postfix) with ESMTP id DF06613C459 for ; Wed, 22 Aug 2007 18:17:35 +0000 (UTC) (envelope-from julian@elischer.org) Received: from mx0.idiom.com (HELO idiom.com) (216.240.32.160) by out.internet-mail-service.net (qpsmtpd/0.40) with ESMTP; Wed, 22 Aug 2007 11:17:29 -0700 Received: from julian-mac.elischer.org (fibhost-122-174.fibernet.bacs-net.hu [85.66.122.174]) by idiom.com (Postfix) with ESMTP id E8BA31260F7; Wed, 22 Aug 2007 11:17:28 -0700 (PDT) Message-ID: <46CC7DB4.3020103@elischer.org> Date: Wed, 22 Aug 2007 11:17:24 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728) MIME-Version: 1.0 To: Marko Zec References: <200708212351.l7LNpi6Q006480@repoman.freebsd.org> In-Reply-To: <200708212351.l7LNpi6Q006480@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 125520 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Aug 2007 18:17:37 -0000 Marko Zec wrote: > http://perforce.freebsd.org/chv.cgi?CH=125520 > > Change 125520 by zec@zec_tpx32 on 2007/08/21 23:51:39 > > Given that ng_pipe nodes can be connected into arbitrary > topologies, and therefore it is possible for ngp_rcvdata() > to be recursively called from a single thread, it is > necessary to explicitly allow for the ng_pipe_giant mutex > to be recursively acquireable. > > Affected files ... > > .. //depot/projects/vimage/src/sys/netgraph/ng_pipe.c#2 edit > > Differences ... > > ==== //depot/projects/vimage/src/sys/netgraph/ng_pipe.c#2 (text+ko) ==== > > @@ -1028,7 +1028,7 @@ > error = EEXIST; > else { > mtx_init(&ng_pipe_giant, "ng_pipe_giant", NULL, > - MTX_DEF); > + MTX_DEF | MTX_RECURSE); > LIST_INIT(&node_head); > LIST_INIT(&hook_head); > ds_handle = timeout((timeout_t *) &pipe_scheduler, OR make it queue data on entry.. p.s I'm only acoupel hundred km to your north east at Siofok.. considered making a run south west to Zagreb but can't work it onto the schedule.