SPLASSERT(9)

.

名称
SPLASSERT - カーネル spl レベル検証マクロ

書式
options INVARIANTS options INVARIANT_SUPPORT SPLASSERT(char *level, char *msg)

解説
"options INVARIANTS" および "options INVARIANT_SUPPORT" の両方の オプション付きでコンパイルされたカーネル内では、 SPLASSERT() マクロはカーネルの現在の spl レベルと SPLASSERT() マクロの中で指定された spl レベル level とを比較します。 指定された level がアクティブでない場合には、 SPLASSERT() は msg を引数として KASSERT() マクロを呼び出し、稼働中のシステムを停止させます。

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

使用例
カーネル関数 rtalloc() は splnet() 時に呼び出されなければなりません。

    void
    rtalloc(ro)
    	register struct route *ro;
    {
    	SPLASSERT(net, "rtalloc()");
    	rtalloc_ign(ro, 0UL);
    }

関連項目
config(8), KASSERT(9), panic(9)

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