KASSERT(9) BSD Kernel Developer’s Manual KASSERT(9)
NAME
KASSERT — kernel expression verification macro
SYNOPSIS
options INVARIANTS
#include <sys/param.h>
#include <sys/systm.h>
KASSERT(expression, msg);
DESCRIPTION
In a kernel compiled with options INVARIANTS, the KASSERT() macro tests the given expression and if it is false, calls the panic(9) function, terminating the running system.
In a kernel that does not have options INVARIANTS, the KASSERT() macro is defined to be a no-op. The second argument is a printf(9) format string and its arguments, enclosed in parentheses.
EXAMPLES
The kernel function vput() must not be called with a NULL pointer.
void
vput(vp)
struct vnode *vp;
{
struct proc *p = curproc; |
||
KASSERT(vp != NULL, ("vput: null vp")); |
||
... |
}
SEE ALSO
AUTHORS
This manual page was written by Jonathan M. Bresler <jmb AT FreeBSD DOT org>.
BSD January 14, 2000 BSD