From owner-cvs-all Thu Aug 30 18: 2:41 2001 Delivered-To: cvs-all@freebsd.org Received: from earth.backplane.com (earth-nat-cw.backplane.com [208.161.114.67]) by hub.freebsd.org (Postfix) with ESMTP id 4CB8237B403; Thu, 30 Aug 2001 18:02:36 -0700 (PDT) (envelope-from dillon@earth.backplane.com) Received: (from dillon@localhost) by earth.backplane.com (8.11.6/8.11.2) id f7V10WG61314; Thu, 30 Aug 2001 18:00:32 -0700 (PDT) (envelope-from dillon) Date: Thu, 30 Aug 2001 18:00:32 -0700 (PDT) From: Matt Dillon Message-Id: <200108310100.f7V10WG61314@earth.backplane.com> To: John Baldwin Cc: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG Subject: Re: RE: cvs commit: src/sys/kern init_sysent.c sysv_msg.c sysv_sem.c References: 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 :> Log: :> Giant Pushdown: sysv shm, sem, and msg calls. : : :You could probably minimize a lot of these diffs using a UGAR() macro similar :ot BSD/OS's EGAR macro. It unlocks Giant and then returns the value passed in. :Thus return(foo); becomes UGAR(foo); : :This would make the diffs much simpler, which also makes it easier to take :Giant out of syscalls later on: : :#define UGAR(rval) do { \ : int _val = (rval); \ : mtx_unlock(&Giant); \ : return (_val); \ :} while (0) I think it's better to keep it explicit. I don't want to hide the fact that I am manipulating Giant. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message