KASSERT(9)

名称
KASSERT - カーネル数式検証マクロ

書式
options INVARIANTS KASSERT(expression, const char *msg)

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

"options INVARIANTS" オプションの無いカーネル内では、 KASSERT() マクロは何もしない様に定義されます。

使用例
カーネル関数 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> が書きました。