diff options
| author | Jeff Roberson <jeff@FreeBSD.org> | 2009-03-14 11:43:02 +0000 |
|---|---|---|
| committer | Jeff Roberson <jeff@FreeBSD.org> | 2009-03-14 11:43:02 +0000 |
| commit | 04a2868980e9a57710e051168976df32e316b170 (patch) | |
| tree | ba632b2f7e96c8e0f9822a6c4540e1d945242699 /sys/kern/kern_lock.c | |
| parent | 53a6c8b3ac32bedbbdd749112f5c674fa94cdbd1 (diff) | |
Notes
Diffstat (limited to 'sys/kern/kern_lock.c')
| -rw-r--r-- | sys/kern/kern_lock.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_lock.c b/sys/kern/kern_lock.c index b2294f8184ef..d3b9ed80815e 100644 --- a/sys/kern/kern_lock.c +++ b/sys/kern/kern_lock.c @@ -686,7 +686,8 @@ __lockmgr_args(struct lock *lk, u_int flags, struct lock_object *ilk, lk->lk_recurse--; break; } - lock_profile_release_lock(&lk->lock_object); + if (tid != LK_KERNPROC) + lock_profile_release_lock(&lk->lock_object); if (atomic_cmpset_rel_ptr(&lk->lk_lock, tid, LK_UNLOCKED)) @@ -874,6 +875,7 @@ _lockmgr_disown(struct lock *lk, const char *file, int line) */ if (LK_HOLDER(lk->lk_lock) != tid) return; + lock_profile_release_lock(&lk->lock_object); LOCK_LOG_LOCK("XDISOWN", &lk->lock_object, 0, 0, file, line); WITNESS_UNLOCK(&lk->lock_object, LOP_EXCLUSIVE, file, line); TD_LOCKS_DEC(curthread); |
