|
|
|
@ -415,10 +415,6 @@ void KThread::StartTermination() { |
|
|
|
m_parent->ClearRunningThread(this); |
|
|
|
} |
|
|
|
|
|
|
|
// Signal.
|
|
|
|
m_signaled = true; |
|
|
|
KSynchronizationObject::NotifyAvailable(); |
|
|
|
|
|
|
|
// Clear previous thread in KScheduler.
|
|
|
|
KScheduler::ClearPreviousThread(m_kernel, this); |
|
|
|
|
|
|
|
@ -437,6 +433,13 @@ void KThread::FinishTermination() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Acquire the scheduler lock.
|
|
|
|
KScopedSchedulerLock sl{m_kernel}; |
|
|
|
|
|
|
|
// Signal.
|
|
|
|
m_signaled = true; |
|
|
|
KSynchronizationObject::NotifyAvailable(); |
|
|
|
|
|
|
|
// Close the thread.
|
|
|
|
this->Close(); |
|
|
|
} |
|
|
|
|