1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:38:11 +00:00

Kernel: Fix GenericInterruptHandler problems with virtual functions

Because registering and unregistering interrupt handlers triggers
calls to virtual functions, we can't do this in the constructor
and destructor.

Fixes #5539
This commit is contained in:
Tom 2021-02-26 17:17:57 -07:00 committed by Andreas Kling
parent 183ebaee91
commit 32d9534c67
11 changed files with 112 additions and 39 deletions

View file

@ -31,7 +31,8 @@ namespace Kernel {
UNMAP_AFTER_INIT void SpuriousInterruptHandler::initialize(u8 interrupt_number)
{
new SpuriousInterruptHandler(interrupt_number);
auto* handler = new SpuriousInterruptHandler(interrupt_number);
handler->register_interrupt_handler();
}
void SpuriousInterruptHandler::register_handler(GenericInterruptHandler& handler)