INVARIANTS in sys/sys/sx.h
Erik Trulsson
ertr1013 at student.uu.se
Mon Aug 28 14:44:01 UTC 2006
On Mon, Aug 28, 2006 at 11:38:47PM +0900, Jun Kuriyama wrote:
>
> I found this when I compiled my kernel with INVARIANTS without
> INVARIANT_SUPPORT.
It says in /usr/src/syc/conf/NOTES that INVARIANT_SUPPORT is a prerequisite
for INVARIANTS. I.e. having a kernel with INVARIANTS without
INVARIANT_SUPPORT is not expected to work.
>
> In src/sys/sys/sx.h, _sx_assert() is defined in INVARIANT_SUPPORT,
>
> > #ifdef INVARIANT_SUPPORT
> > void _sx_assert(struct sx *sx, int what, const char *file, int line);
> > #endif
>
> but sx_assert() uses this function in INVARIANTS option.
>
> > #ifdef INVARIANTS
> > #define sx_assert(sx, what) _sx_assert((sx), (what), LOCK_FILE, LOCK_LINE)
> > #else
> > #define sx_assert(sx, what)
> > #endif
>
> Is this consistent?
>
--
<Insert your favourite quote here.>
Erik Trulsson
ertr1013 at student.uu.se
More information about the freebsd-current
mailing list