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> 하지만 썼습니다.