diff options
| -rw-r--r-- | threads/synch.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/threads/synch.c b/threads/synch.c index 364b769..db204f5 100644 --- a/threads/synch.c +++ b/threads/synch.c | |||
| @@ -233,8 +233,9 @@ lock_acquire (struct lock *lock) | |||
| 233 | if (lock->holder != NULL) | 233 | if (lock->holder != NULL) |
| 234 | cur->blocked_lock = lock; | 234 | cur->blocked_lock = lock; |
| 235 | 235 | ||
| 236 | /* nested priority donation: we loop backwards: lock -> holder -> blocked_lock | 236 | /* nested priority donation: |
| 237 | and donate our priority */ | 237 | we need to loop backwards: lock -> holder -> blocked_lock |
| 238 | our first iteration is the generic (not nested) priority donation case */ | ||
| 238 | blocked_lock = lock; | 239 | blocked_lock = lock; |
| 239 | while (blocked_lock != NULL && blocked_lock->holder != NULL) | 240 | while (blocked_lock != NULL && blocked_lock->holder != NULL) |
| 240 | { | 241 | { |
