소스 검색

adding kasserts to ensure locks are owned when being used

tarfeef101 7 년 전
부모
커밋
4d25366a59
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      kern/thread/synch.c

+ 2 - 0
kern/thread/synch.c

@@ -188,6 +188,7 @@ void lock_destroy(struct lock * lock)
 void lock_acquire(struct lock * lock)
 {
   KASSERT(lock);
+  KASSERT(lock_do_i_hold(lock));
   
   spinlock_acquire(&(lock->spin));
   
@@ -206,6 +207,7 @@ void lock_acquire(struct lock * lock)
 void lock_release(struct lock * lock)
 {
   KASSERT(lock);
+  KASSERT(lock_do_i_hold(lock));
   
   spinlock_acquire(&(lock->spin));
   KASSERT(curthread == lock->owner);