Kernel: Add API to block on semaphore until unblock or EINTR

This commit is contained in:
2023-12-06 16:13:07 +02:00
parent 534969df32
commit 1ac831d4b1
2 changed files with 11 additions and 0 deletions

View File

@@ -330,6 +330,14 @@ namespace Kernel
return false;
}
bool Thread::block_or_eintr(Semaphore& semaphore)
{
if (is_interrupted_by_signal())
return true;
semaphore.block();
return is_interrupted_by_signal();
}
void Thread::validate_stack() const
{
if (stack_base() <= m_rsp && m_rsp <= stack_base() + stack_size())