mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-07-10 23:09:18 +00:00
tasking: Check for null pointer first
This commit is contained in:
@ -157,6 +157,9 @@ namespace Tasking::Scheduler
|
||||
|
||||
TCB *Custom::GetThreadByID(TID ID, PCB *Parent)
|
||||
{
|
||||
if (unlikely(Parent == nullptr))
|
||||
return nullptr;
|
||||
|
||||
foreach (auto t in Parent->Threads)
|
||||
{
|
||||
if (t->ID == ID)
|
||||
@ -544,6 +547,7 @@ namespace Tasking::Scheduler
|
||||
{
|
||||
if (pcb->State.load() == TaskState::Terminated)
|
||||
{
|
||||
debug("Found terminated process %s(%d)", pcb->Name, pcb->ID);
|
||||
delete pcb;
|
||||
continue;
|
||||
}
|
||||
|
@ -105,6 +105,9 @@ namespace Tasking
|
||||
|
||||
void Task::WaitForProcess(PCB *pcb)
|
||||
{
|
||||
if (pcb == nullptr)
|
||||
return;
|
||||
|
||||
if (pcb->State == TaskState::UnknownStatus)
|
||||
return;
|
||||
|
||||
@ -119,6 +122,9 @@ namespace Tasking
|
||||
|
||||
void Task::WaitForThread(TCB *tcb)
|
||||
{
|
||||
if (tcb == nullptr)
|
||||
return;
|
||||
|
||||
if (tcb->State == TaskState::UnknownStatus)
|
||||
return;
|
||||
|
||||
@ -133,6 +139,9 @@ namespace Tasking
|
||||
|
||||
void Task::WaitForProcessStatus(PCB *pcb, TaskState status)
|
||||
{
|
||||
if (pcb == nullptr)
|
||||
return;
|
||||
|
||||
if (pcb->State == TaskState::UnknownStatus)
|
||||
return;
|
||||
|
||||
@ -145,6 +154,9 @@ namespace Tasking
|
||||
|
||||
void Task::WaitForThreadStatus(TCB *tcb, TaskState status)
|
||||
{
|
||||
if (tcb == nullptr)
|
||||
return;
|
||||
|
||||
if (tcb->State == TaskState::UnknownStatus)
|
||||
return;
|
||||
|
||||
|
Reference in New Issue
Block a user