Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Aug 2001 18:00:32 -0700 (PDT)
From:      Matt Dillon <dillon@earth.backplane.com>
To:        John Baldwin <jhb@FreeBSD.ORG>
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
Message-ID:  <200108310100.f7V10WG61314@earth.backplane.com>
References:   <XFMail.010830173707.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
:>   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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200108310100.f7V10WG61314>