diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-01-23 18:13:11 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-01-23 18:13:11 -0500 |
commit | 821a500d34ae6b2487a2ebecc6ab276fdfde0680 (patch) | |
tree | 0033c2a08bdf02116e97788627e0d2857ad05259 /include/litmus/rt_domain.h | |
parent | 95717fa9f4b9f725928e898c42fb0e711e896311 (diff) |
Fix AUX tasks from being dropped by Litmus.
Diffstat (limited to 'include/litmus/rt_domain.h')
-rw-r--r-- | include/litmus/rt_domain.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/litmus/rt_domain.h b/include/litmus/rt_domain.h index ac249292e866..961d7e7c4912 100644 --- a/include/litmus/rt_domain.h +++ b/include/litmus/rt_domain.h | |||
@@ -85,8 +85,18 @@ void __add_release(rt_domain_t* rt, struct task_struct *task); | |||
85 | static inline struct task_struct* __take_ready(rt_domain_t* rt) | 85 | static inline struct task_struct* __take_ready(rt_domain_t* rt) |
86 | { | 86 | { |
87 | struct bheap_node* hn = bheap_take(rt->order, &rt->ready_queue); | 87 | struct bheap_node* hn = bheap_take(rt->order, &rt->ready_queue); |
88 | if (hn) | 88 | if (hn) { |
89 | struct task_struct* taken = bheap2task(hn); | ||
90 | TRACE("rt: taking %s/%d [inh_task: %s/%d]\n", | ||
91 | (taken) ? taken->comm : "nil", | ||
92 | (taken) ? taken->pid : -1, | ||
93 | (taken && tsk_rt(taken)->inh_task) ? | ||
94 | tsk_rt(taken)->inh_task->comm : "nil", | ||
95 | (taken && tsk_rt(taken)->inh_task) ? | ||
96 | tsk_rt(taken)->inh_task->pid : -1); | ||
97 | |||
89 | return bheap2task(hn); | 98 | return bheap2task(hn); |
99 | } | ||
90 | else | 100 | else |
91 | return NULL; | 101 | return NULL; |
92 | } | 102 | } |