Merge 'task1/priority-donation' into 'master' #14
@@ -386,9 +386,6 @@ thread_set_priority (int new_base_priority)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
t->base_priority = new_base_priority;
|
t->base_priority = new_base_priority;
|
||||||
t->priority = new_base_priority;
|
|
||||||
|
|
||||||
if (new_base_priority < old_priority)
|
|
||||||
thread_recalculate_priority ();
|
thread_recalculate_priority ();
|
||||||
|
|
||||||
thread_yield ();
|
thread_yield ();
|
||||||
@@ -406,6 +403,7 @@ void
|
|||||||
thread_recalculate_priority (void)
|
thread_recalculate_priority (void)
|
||||||
{
|
{
|
||||||
struct thread *t = thread_current ();
|
struct thread *t = thread_current ();
|
||||||
|
t->priority = t->base_priority;
|
||||||
|
|
||||||
if (!list_empty (&t->donors_list)) {
|
if (!list_empty (&t->donors_list)) {
|
||||||
int max_donated_priority =
|
int max_donated_priority =
|
||||||
|
|||||||
Reference in New Issue
Block a user