mirror of
https://github.com/SerenityOS/serenity
synced 2024-07-23 19:15:55 +00:00
Fix null deref in contextSwitch().
This commit is contained in:
parent
2f99ff801e
commit
dd6706a1a1
|
@ -360,14 +360,17 @@ static bool contextSwitch(Task* t)
|
|||
if (current == t)
|
||||
return false;
|
||||
|
||||
// If the last task hasn't blocked (still marked as running),
|
||||
// mark it as runnable for the next round.
|
||||
if (current->state() == Task::Running)
|
||||
current->setState(Task::Runnable);
|
||||
if (current) {
|
||||
// If the last task hasn't blocked (still marked as running),
|
||||
// mark it as runnable for the next round.
|
||||
if (current->state() == Task::Running)
|
||||
current->setState(Task::Runnable);
|
||||
|
||||
bool success = MemoryManager::the().unmapRegionsForTask(*current);
|
||||
ASSERT(success);
|
||||
success = MemoryManager::the().mapRegionsForTask(*t);
|
||||
bool success = MemoryManager::the().unmapRegionsForTask(*current);
|
||||
ASSERT(success);
|
||||
}
|
||||
|
||||
bool success = MemoryManager::the().mapRegionsForTask(*t);
|
||||
ASSERT(success);
|
||||
|
||||
current = t;
|
||||
|
|
Loading…
Reference in a new issue