Module Name: src
Committed By: matt
Date: Sat Jun 11 01:07:33 UTC 2011
Modified Files:
src/sys/kern: kern_mutex_obj.c
Log Message:
Use KASSERTMSG so if these trigger, we can see what exactly caused them to fire.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/kern/kern_mutex_obj.c
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_mutex_obj.c
diff -u src/sys/kern/kern_mutex_obj.c:1.3 src/sys/kern/kern_mutex_obj.c:1.4
--- src/sys/kern/kern_mutex_obj.c:1.3 Fri May 13 22:16:43 2011
+++ src/sys/kern/kern_mutex_obj.c Sat Jun 11 01:07:33 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_mutex_obj.c,v 1.3 2011/05/13 22:16:43 rmind Exp $ */
+/* $NetBSD: kern_mutex_obj.c,v 1.4 2011/06/11 01:07:33 matt Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_mutex_obj.c,v 1.3 2011/05/13 22:16:43 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_mutex_obj.c,v 1.4 2011/06/11 01:07:33 matt Exp $");
#include <sys/param.h>
#include <sys/atomic.h>
@@ -106,8 +106,12 @@
{
struct kmutexobj *mo = (struct kmutexobj *)lock;
- KASSERT(mo->mo_magic == MUTEX_OBJ_MAGIC);
- KASSERT(mo->mo_refcnt > 0);
+ KASSERTMSG(mo->mo_magic == MUTEX_OBJ_MAGIC,
+ ("%s: lock %p: mo->mo_magic (%#x) != MUTEX_OBJ_MAGIC (%#x)",
+ __func__, mo, mo->mo_magic, MUTEX_OBJ_MAGIC));
+ KASSERTMSG(mo->mo_refcnt > 0,
+ ("%s: lock %p: mo->mo_refcnt (%#x) == 0",
+ __func__, mo, mo->mo_refcnt));
atomic_inc_uint(&mo->mo_refcnt);
}
@@ -123,8 +127,12 @@
{
struct kmutexobj *mo = (struct kmutexobj *)lock;
- KASSERT(mo->mo_magic == MUTEX_OBJ_MAGIC);
- KASSERT(mo->mo_refcnt > 0);
+ KASSERTMSG(mo->mo_magic == MUTEX_OBJ_MAGIC,
+ ("%s: lock %p: mo->mo_magic (%#x) != MUTEX_OBJ_MAGIC (%#x)",
+ __func__, mo, mo->mo_magic, MUTEX_OBJ_MAGIC));
+ KASSERTMSG(mo->mo_refcnt > 0,
+ ("%s: lock %p: mo->mo_refcnt (%#x) == 0",
+ __func__, mo, mo->mo_refcnt));
if (atomic_dec_uint_nv(&mo->mo_refcnt) > 0) {
return false;