Merge 'task1/priority-donation' into 'master' #14

Merged
sb3923 merged 66 commits from task1/priority-donation into master 2024-10-23 16:15:45 +00:00
2 changed files with 59 additions and 2 deletions
Showing only changes of commit 949455aae5 - Show all commits

View File

@@ -389,6 +389,8 @@ thread_set_priority (int new_priority)
thread_current ()->priority = new_priority; thread_current ()->priority = new_priority;
enum intr_level old_level = intr_disable ();
if (new_priority < old_priority && !list_empty (&ready_list)) { if (new_priority < old_priority && !list_empty (&ready_list)) {
/* If the new priority is lower than the old priority, check if the current /* If the new priority is lower than the old priority, check if the current
thread no longer has the highest priority. If it doesn't, yield the CPU. thread no longer has the highest priority. If it doesn't, yield the CPU.
@@ -401,6 +403,8 @@ thread_set_priority (int new_priority)
thread_yield(); thread_yield();
} }
} }
intr_set_level (old_level);
} }
/* Returns the current thread's priority. */ /* Returns the current thread's priority. */