filter interrupt abbs
This commit is contained in:
parent
3fcb9a74e0
commit
38e5767775
@ -133,15 +133,23 @@ fn refine_system_states(input: &mut Vec<RawFreeRTOSSystemState>) -> Vec<RefinedF
|
||||
for j in delay_list.iter() {let _ = iteration_counts.try_insert(j.task_name.clone(), 0);}
|
||||
|
||||
// increase when:
|
||||
// current and delayed afterwards
|
||||
// normal current and delayed afterwards
|
||||
// async current and not previous
|
||||
if cur.task_name.contains("async") {
|
||||
*iteration_counts.get_mut(&cur.task_name).unwrap()+=1;
|
||||
if let Some(l) = ret.last() {
|
||||
if l.current_task.0.task_name != cur.task_name {
|
||||
*iteration_counts.get_mut(&cur.task_name).unwrap()+=1;
|
||||
}
|
||||
} else {
|
||||
*iteration_counts.get_mut(&cur.task_name).unwrap()+=1;
|
||||
}
|
||||
} else if let Some(_) = delay_list.iter().find(|x| (*x).task_name==cur.task_name) {
|
||||
*iteration_counts.get_mut(&cur.task_name).unwrap()+=1;
|
||||
}
|
||||
|
||||
let collector = collector.into_iter().map(|x| {let t = *iteration_counts.get(&x.task_name).unwrap_or(&1); (x, t)}).collect();
|
||||
let delay_list : Vec<(RefinedTCB, u32)> = delay_list.into_iter().map(|x| {let t = *iteration_counts.get(&x.task_name).unwrap_or(&0); (x, t)}).collect();
|
||||
let filter_delay = delay_list.into_iter().filter(|x| !x.task_name.contains("async"));
|
||||
let delay_list : Vec<(RefinedTCB, u32)> = filter_delay.map(|x| {let t = *iteration_counts.get(&x.task_name).unwrap_or(&0); (x, t)}).collect();
|
||||
let t = *iteration_counts.get(&cur.task_name).unwrap_or(&1);
|
||||
// We don't care about the order
|
||||
ret.push(RefinedFreeRTOSSystemState {
|
||||
|
Loading…
x
Reference in New Issue
Block a user