Subject: CVS commit: [wrstuden-fixsa] src/sys
To: None <source-changes@NetBSD.org>
From: Bill Stouder-Studenmund <wrstuden@netbsd.org>
List: source-changes
Date: 05/18/2007 01:23:37
Module Name:	src
Committed By:	wrstuden
Date:		Fri May 18 01:23:37 UTC 2007

Modified Files:
	src/sys/kern [wrstuden-fixsa]: kern_sa.c
	src/sys/sys [wrstuden-fixsa]: savar.h

Log Message:
Add sa_critpath_{enter,exit}(). These routines are intended to
permit code outside of kern_sa.c to indicate that it is entering
a code path in which any blocking (tsleep()) should NOT trigger
a BLOCKED upcall to userland. These should be used in areas where
we can't really start another thread, such as in context switching.

All these routines do is clear L_SA if it's set & put it back if
it had been set. Their main purpose is stylistic. Any routine could
just fiddle with L_SA, but these routines offer a way to separate
the abstract "Don't interrupt what I'm doing" from the exact implementation
of fiddling with L_SA.

Existing code not in kern_sa.c that twiddles L_SA should be converted
to use these routines.


To generate a diff of this commit:
cvs rdiff -r1.87.4.1 -r1.87.4.2 src/sys/kern/kern_sa.c
cvs rdiff -r1.20.10.1 -r1.20.10.2 src/sys/sys/savar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.