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