Kernel/LibC: Implement sched_yield

This commit is contained in:
2025-04-02 02:44:31 +03:00
parent 5549696c3a
commit 9066e62a97
5 changed files with 17 additions and 0 deletions

View File

@@ -182,6 +182,7 @@ namespace Kernel
BAN::ErrorOr<long> sys_sigpending(sigset_t* set);
BAN::ErrorOr<long> sys_sigprocmask(int how, const sigset_t* set, sigset_t* oset);
BAN::ErrorOr<long> sys_yield();
BAN::ErrorOr<long> sys_pthread_create(const pthread_attr_t* __restrict attr, void (*entry)(void*), void* arg);
BAN::ErrorOr<long> sys_pthread_exit(void* value);
BAN::ErrorOr<long> sys_pthread_self();

View File

@@ -2084,6 +2084,12 @@ namespace Kernel
return 0;
}
BAN::ErrorOr<long> Process::sys_yield()
{
Processor::yield();
return 0;
}
BAN::ErrorOr<long> Process::sys_pthread_create(const pthread_attr_t* __restrict attr, void (*entry)(void*), void* arg)
{
if (attr != nullptr)