Kernel: Create CriticalScope and fix kmalloc
This disables interrupts for the current scope and restores them after the scope. This is used in kmalloc, since scheduler might call into kmalloc/kfree, but deadlock if some thread is currently trying to allocate. This allows us to use kmalloc in Scheduler.
This commit is contained in:
@@ -18,6 +18,4 @@ public:
|
||||
static InterruptController& get();
|
||||
};
|
||||
|
||||
uintptr_t disable_interrupts_and_get_flags();
|
||||
void restore_flags(uintptr_t);
|
||||
bool interrupts_enabled();
|
||||
Reference in New Issue
Block a user