From owner-p4-projects@FreeBSD.ORG Wed Feb 7 20:50:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4697A16A40A; Wed, 7 Feb 2007 20:50:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8CF0D16A409 for ; Wed, 7 Feb 2007 20:50:17 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.171]) by mx1.freebsd.org (Postfix) with ESMTP id E775413C494 for ; Wed, 7 Feb 2007 20:50:16 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: by ug-out-1314.google.com with SMTP id o2so275442uge for ; Wed, 07 Feb 2007 12:50:15 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=YYkjUGnPHmc+rxeptTnKqpVz9lb21h/nQ78P9gVvPX/beoEagSLl8tqb8+lKF6+QTX0ZhBPKPC95CJYwNMGfh/n7296NJEjN1hjoJx8IH92enPIBv3vS3J/fRCJIcZi4CebVelwtx14qZnBKlweLMDDm0SUo5YO9OSnobirRxE0= Received: by 10.82.189.5 with SMTP id m5mr1145601buf.1170881408263; Wed, 07 Feb 2007 12:50:08 -0800 (PST) Received: by 10.48.238.14 with HTTP; Wed, 7 Feb 2007 12:50:08 -0800 (PST) Message-ID: <3bbf2fe10702071250p65989b81v9872ff7203c92b91@mail.gmail.com> Date: Wed, 7 Feb 2007 21:50:08 +0100 From: "Attilio Rao" Sender: asmrookie@gmail.com To: "Roman Divacky" In-Reply-To: <200702071858.l17IwBGj041287@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200702071858.l17IwBGj041287@repoman.freebsd.org> X-Google-Sender-Auth: 97fa7e4c16cf13a3 Cc: Perforce Change Reviews Subject: Re: PERFORCE change 114200 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, 07 Feb 2007 20:50:18 -0000 2007/2/7, Roman Divacky : > http://perforce.freebsd.org/chv.cgi?CH=114200 > > Change 114200 by rdivacky@rdivacky_witten on 2007/02/07 18:57:25 > > Move the free() out of the emul_shared_lock coverage as its not > sleepable lock anymore. > > Affected files ... > > .. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#35 edit > > Differences ... > > ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#35 (text+ko) ==== > > @@ -187,9 +187,11 @@ > LIST_REMOVE(em, threads); > > em->shared->refs--; > - if (em->shared->refs == 0) > + if (em->shared->refs == 0) { > + EMUL_SHARED_WUNLOCK(&emul_shared_lock); > free(em->shared, M_LINUX); > - EMUL_SHARED_WUNLOCK(&emul_shared_lock); > + } else > + EMUL_SHARED_WUNLOCK(&emul_shared_lock); > > if (child_clear_tid != NULL) { > struct linux_sys_futex_args cup; > @@ -274,9 +276,11 @@ > PROC_UNLOCK(p); > > em->shared->refs--; > - if (em->shared->refs == 0) > + if (em->shared->refs == 0) { > + EMUL_SHARED_WUNLOCK(&emul_shared_lock); > free(em->shared, M_LINUX); > - EMUL_SHARED_WUNLOCK(&emul_shared_lock); > + } else > + EMUL_SHARED_WUNLOCK(&emul_shared_lock); > > free(em, M_LINUX); > } > Would you convert em->shared->refs with a refcount() ? (sys/refcount.h) Attilio -- Peace can only be achieved by understanding - A. Einstein