Index: subr_witness.c =================================================================== --- subr_witness.c (revision 197110) +++ subr_witness.c (working copy) @@ -1784,13 +1784,25 @@ struct lock_object *lock; lock = instance->li_lock; - printf("%s %s %s", (instance->li_flags & LI_EXCLUSIVE) != 0 ? - "exclusive" : "shared", LOCK_CLASS(lock)->lc_name, lock->lo_name); - if (lock->lo_type != lock->lo_name) - printf(" (%s)", lock->lo_type); - printf(" r = %d (%p) locked @ %s:%d\n", - instance->li_flags & LI_RECURSEMASK, lock, instance->li_file, - instance->li_line); + if (kdb_active) { + db_printf("%s %s %s", (instance->li_flags & LI_EXCLUSIVE) != 0 ? + "exclusive" : "shared", LOCK_CLASS(lock)->lc_name, + lock->lo_name); + if (lock->lo_type != lock->lo_name) + db_printf(" (%s)", lock->lo_type); + db_printf(" r = %d (%p) locked @ %s:%d\n", + instance->li_flags & LI_RECURSEMASK, lock, + instance->li_file, instance->li_line); + } else { + printf("%s %s %s", (instance->li_flags & LI_EXCLUSIVE) != 0 ? + "exclusive" : "shared", LOCK_CLASS(lock)->lc_name, + lock->lo_name); + if (lock->lo_type != lock->lo_name) + printf(" (%s)", lock->lo_type); + printf(" r = %d (%p) locked @ %s:%d\n", + instance->li_flags & LI_RECURSEMASK, lock, + instance->li_file, instance->li_line); + } } #ifdef DDB