Kernel: Add signals for threads after IRQs
This allows signals to be called even if the process does no syscalls The old scheduler did signal handling but I feel like it should be enough to handle them only after syscalls and IRQs. ISRs already handle signals that caused the ISR and there is no other route to kernel space.
This commit is contained in:
parent
414f0f6cd9
commit
fa900df5a7
|
@ -362,6 +362,10 @@ done:
|
|||
dprintln("no handler for irq 0x{2H}", irq);
|
||||
}
|
||||
|
||||
auto& current_thread = Thread::current();
|
||||
if (current_thread.can_add_signal_to_execute())
|
||||
current_thread.handle_signal();
|
||||
|
||||
Scheduler::get().reschedule_if_idling();
|
||||
|
||||
ASSERT(Thread::current().state() != Thread::State::Terminated);
|
||||
|
|
Loading…
Reference in New Issue