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:
Bananymous 2024-04-03 15:07:18 +03:00
parent 414f0f6cd9
commit fa900df5a7
1 changed files with 4 additions and 0 deletions

View File

@ -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);