tail head cat sleep
QR code linking to this page

manページ  — KASSERT

名称

KASSERT – カーネル数式検証マクロ

内容

書式

options INVARIANTS

#include <sys/param.h>
#include <sys/systm.h>

KASSERT(expression, msg);

解説

options INVARIANTS オプション付きでコンパイルされたカーネル内では、 KASSERT() マクロは与えられた数式 expression をテストし、それが偽である場合には panic(9) 関数を呼び出し、稼働中のシステムを停止させます。

options INVARIANTS オプションの無いカーネル内では、 KASSERT() マクロは何もしない様に定義されます。 第 2 引数は、 printf(9) フォーマット文字列とその引数を括弧に括ったものです。

使用例

カーネル関数 vput() は、 NULL ポインタを引数として呼び出されてはなりません。
void
vput(vp)
        struct vnode *vp;
{
        struct proc *p = curproc;
        KASSERT(vp != NULL, ("vput: null vp"));
        ...
}

関連項目

config(8), panic(9)

作者

このマニュアルページは Jonathan M. Bresler <jmb@FreeBSD.org> が書きました。

KASSERT (9) January 14, 2000

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Modern Unix impedes progress in computer science, wastes billions of dollars, and destroys the common sense of many who seriously use it.
— The Unix Haters' handbook