In witness_unlock(), when updating a lock list entry bucket, decrement the

count of lock list entries after we fixup the bucket of lock list entries.
In theory we can remove the intr_disable/intr_restore() calls now.
This commit is contained in:
John Baldwin 2002-05-20 19:16:22 +00:00
parent 465996134b
commit 525c135972

View File

@ -848,10 +848,10 @@ witness_unlock(struct lock_object *lock, int flags, const char *file, int line)
td->td_proc->p_pid,
instance->li_lock->lo_name,
(*lock_list)->ll_count - 1);
(*lock_list)->ll_count--;
for (j = i; j < (*lock_list)->ll_count; j++)
for (j = i; j < (*lock_list)->ll_count - 1; j++)
(*lock_list)->ll_children[j] =
(*lock_list)->ll_children[j + 1];
(*lock_list)->ll_count--;
intr_restore(s);
if ((*lock_list)->ll_count == 0) {
lle = *lock_list;