|
@@ -544,23 +544,26 @@ void dump_thread_list(bool with_stack_traces)
|
|
};
|
|
};
|
|
|
|
|
|
Thread::for_each([&](Thread& thread) {
|
|
Thread::for_each([&](Thread& thread) {
|
|
|
|
+ auto color = thread.process().is_kernel_process() ? "\x1b[34;1m"sv : "\x1b[33;1m"sv;
|
|
switch (thread.state()) {
|
|
switch (thread.state()) {
|
|
case Thread::State::Dying:
|
|
case Thread::State::Dying:
|
|
- dmesgln(" {:14} {:30} @ {:04x}:{:08x} Finalizable: {}, (nsched: {})",
|
|
|
|
- thread.state_string(),
|
|
|
|
|
|
+ dmesgln(" {}{:30}\x1b[0m @ {:04x}:{:08x} is {:14} (Finalizable: {}, nsched: {})",
|
|
|
|
+ color,
|
|
thread,
|
|
thread,
|
|
get_cs(thread),
|
|
get_cs(thread),
|
|
get_eip(thread),
|
|
get_eip(thread),
|
|
|
|
+ thread.state_string(),
|
|
thread.is_finalizable(),
|
|
thread.is_finalizable(),
|
|
thread.times_scheduled());
|
|
thread.times_scheduled());
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
- dmesgln(" {:14} Pr:{:2} {:30} @ {:04x}:{:08x} (nsched: {})",
|
|
|
|
- thread.state_string(),
|
|
|
|
- thread.priority(),
|
|
|
|
|
|
+ dmesgln(" {}{:30}\x1b[0m @ {:04x}:{:08x} is {:14} (Pr:{:2}, nsched: {})",
|
|
|
|
+ color,
|
|
thread,
|
|
thread,
|
|
get_cs(thread),
|
|
get_cs(thread),
|
|
get_eip(thread),
|
|
get_eip(thread),
|
|
|
|
+ thread.state_string(),
|
|
|
|
+ thread.priority(),
|
|
thread.times_scheduled());
|
|
thread.times_scheduled());
|
|
break;
|
|
break;
|
|
}
|
|
}
|