Module Name:    src
Committed By:   jmcneill
Date:           Sun Nov 27 03:24:00 UTC 2011

Modified Files:
        src/sys/kern: kern_lock.c
        src/sys/sys: systm.h

Log Message:
add KERNEL_LOCKED_P() macro


To generate a diff of this commit:
cvs rdiff -u -r1.151 -r1.152 src/sys/kern/kern_lock.c
cvs rdiff -u -r1.252 -r1.253 src/sys/sys/systm.h

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

Modified files:

Index: src/sys/kern/kern_lock.c
diff -u src/sys/kern/kern_lock.c:1.151 src/sys/kern/kern_lock.c:1.152
--- src/sys/kern/kern_lock.c:1.151	Sun Jul 17 20:54:52 2011
+++ src/sys/kern/kern_lock.c	Sun Nov 27 03:24:00 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_lock.c,v 1.151 2011/07/17 20:54:52 joerg Exp $	*/
+/*	$NetBSD: kern_lock.c,v 1.152 2011/11/27 03:24:00 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2006, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_lock.c,v 1.151 2011/07/17 20:54:52 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_lock.c,v 1.152 2011/11/27 03:24:00 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -305,3 +305,9 @@ _kernel_unlock(int nlocks, int *countp)
 	if (countp != NULL)
 		*countp = olocks;
 }
+
+bool
+_kernel_locked_p(void)
+{
+	return __SIMPLELOCK_LOCKED_P(kernel_lock);
+}

Index: src/sys/sys/systm.h
diff -u src/sys/sys/systm.h:1.252 src/sys/sys/systm.h:1.253
--- src/sys/sys/systm.h:1.252	Mon Nov 21 04:36:06 2011
+++ src/sys/sys/systm.h	Sun Nov 27 03:24:00 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: systm.h,v 1.252 2011/11/21 04:36:06 christos Exp $	*/
+/*	$NetBSD: systm.h,v 1.253 2011/11/27 03:24:00 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1988, 1991, 1993
@@ -489,6 +489,7 @@ void scdebug_ret(register_t, int, const 
 void	kernel_lock_init(void);
 void	_kernel_lock(int);
 void	_kernel_unlock(int, int *);
+bool	_kernel_locked_p(void);
 
 #ifdef _KERNEL
 void	kernconfig_lock_init(void);
@@ -504,9 +505,11 @@ do {						\
 		_kernel_lock((count));	\
 } while (/* CONSTCOND */ 0)
 #define	KERNEL_UNLOCK(all, lwp, p)	_kernel_unlock((all), (p))
+#define	KERNEL_LOCKED_P()		_kernel_locked_p()
 #else
 #define	KERNEL_LOCK(count, lwp)		do {(void)(count); (void)(lwp);} while (/* CONSTCOND */ 0) /*NOP*/
 #define	KERNEL_UNLOCK(all, lwp, ptr)	do {(void)(all); (void)(lwp); (void)(ptr);} while (/* CONSTCOND */ 0) /*NOP*/
+#define	KERNEL_LOCKED_P()		do { } while (/* CONSTCOND */ 0) /*NOP*/
 #endif
 
 #define	KERNEL_UNLOCK_LAST(l)		KERNEL_UNLOCK(-1, (l), NULL)

Reply via email to