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.

… one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.
— Robert Firth