diff options
author | jmb <jmb@FreeBSD.org> | 2000-01-14 21:41:09 +0000 |
---|---|---|
committer | jmb <jmb@FreeBSD.org> | 2000-01-14 21:41:09 +0000 |
commit | 395ce1979423b0e81acfc56912756a7e56474d81 (patch) | |
tree | 36fdaa2df2dd5804ba98c65e8412f14dd8a3b433 /share/man/man9/KASSERT.9 | |
parent | 1e2a8041d055eececce53b88dac5e6dd58f15512 (diff) | |
download | FreeBSD-src-395ce1979423b0e81acfc56912756a7e56474d81.zip FreeBSD-src-395ce1979423b0e81acfc56912756a7e56474d81.tar.gz |
Document the KASSERT() macro.
Diffstat (limited to 'share/man/man9/KASSERT.9')
-rw-r--r-- | share/man/man9/KASSERT.9 | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/share/man/man9/KASSERT.9 b/share/man/man9/KASSERT.9 new file mode 100644 index 0000000..330c045 --- /dev/null +++ b/share/man/man9/KASSERT.9 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 1996 Joanthan M Bresler +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd January 14, 2000 +.Os +.Dt KASSERT 9 +.Sh NAME +.Nm KASSERT +.Nd kernel expression verification macro +.Sh SYNOPSIS +.Fd options INVARIANTS +.Fn KASSERT "int expression, char *msg" +.Sh DESCRIPTION +In a kernel compiled with "options INVARIANTS", +the +.Fn KASSERT +macro tests the given +.Ar expression +and if it is false, +calls the +.Fn panic +syscall, terminating the running system. +.Pp +In a kernel that does not have "options INVARIANTS", +the +.Fn KASSERT +macro is defined to be no-op. +.Sh EXAMPLE +The kernel function +.Fn vput +must not be called with a NULL pointer. +.Bd -literal -offset indent +void +vput(vp) + struct vnode *vp; +{ + struct proc *p = curproc; + KASSERT(vp != NULL, ("vput: null vp")); + ... +} +.Ed +.Sh SEE ALSO +.Xr config 8 , +.Xr panic 9 +.Sh AUTHORS +This man page was written by +.An Jonathan M Bresler . |