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;

Reply via email to