1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 01:37:35 +00:00

Kernel: Prevent recursive calls into the scheduler

Upon leaving a critical section (such as a SpinLock) we need to
check if we're already asynchronously invoking the Scheduler.
Otherwise we might end up triggering another context switch
as soon as leaving the scheduler lock.

Fixes #2883
This commit is contained in:
Tom 2020-08-01 14:37:40 -06:00 committed by Andreas Kling
parent a19304c9d6
commit 728de56481
5 changed files with 136 additions and 21 deletions

View file

@ -57,6 +57,7 @@ class Range;
class RangeAllocator;
class Region;
class Scheduler;
class SchedulerPerProcessorData;
class SharedBuffer;
class Socket;
template<typename BaseType>