1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 05:08:13 +00:00

Kernel: Release the big process lock while yielding in sys$yield()

Otherwise, a thread calling sched_yield() will prevent other threads
in that process from entering the kernel.
This commit is contained in:
Andreas Kling 2019-11-16 12:18:59 +01:00
parent 39e2b69153
commit 73d6a69b3f
3 changed files with 5 additions and 8 deletions

View file

@ -3323,7 +3323,8 @@ int Process::sys$putch(char ch)
int Process::sys$yield()
{
return Scheduler::yield();
current->yield_without_holding_big_lock();
return 0;
}
int Process::sys$beep()