cvs commit: src/sys/sys queue.h

juli mallett jmallett at FreeBSD.org
Sat Nov 19 22:02:33 GMT 2005


Maybe it should be KERNEL && INVARIANTS, for the sake of userland apps
using queue.h which may have their own INVARIANTS define but not their
own panic(9) implementation?

* Ed Maste <emaste at FreeBSD.org> [ Date: 2005-11-18 ]
	[ w.r.t. cvs commit: src/sys/sys queue.h ]
> emaste      2005-11-18 19:41:55 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/sys              queue.h 
>   Log:
>   Add sanity checking for QUEUE(3) lists under INVARIANTS.  Races may lead
>   to list corruption, which can be difficult to unravel in a post-mortem
>   analysis.  These checks verify that prev and next pointers are consistent
>   when inserting or removing elements, thus catching any corruption earlier.
>   
>   Also use TRASHIT to break LIST and SLIST link pointers on element removal,
>   from mlaier via -hackers.
>   
>   Reviewed by:    mlaier
>   Approved by:    rwatson (mentor)
>   
>   Revision  Changes    Path
>   1.62      +35 -2     src/sys/sys/queue.h

-- 
Go to sleep.  Go to sleep.  Go to sleep.


More information about the cvs-src mailing list