Explorar o código

adding kasserts to ensure locks are owned when being used

tarfeef101 %!s(int64=7) %!d(string=hai) anos
pai
achega
4d25366a59
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  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);