mirror of
https://github.com/RGBCube/serenity
synced 2025-07-23 09:37:34 +00:00
Kernel: Disable big process lock for sys$yield()
This commit is contained in:
parent
5c10fb4007
commit
8f01a8b741
2 changed files with 3 additions and 3 deletions
|
@ -43,7 +43,7 @@ enum class NeedsBigProcessLock {
|
||||||
// - VERIFY_NO_PROCESS_BIG_LOCK(this)
|
// - VERIFY_NO_PROCESS_BIG_LOCK(this)
|
||||||
//
|
//
|
||||||
#define ENUMERATE_SYSCALLS(S) \
|
#define ENUMERATE_SYSCALLS(S) \
|
||||||
S(yield, NeedsBigProcessLock::Yes) \
|
S(yield, NeedsBigProcessLock::No) \
|
||||||
S(open, NeedsBigProcessLock::Yes) \
|
S(open, NeedsBigProcessLock::Yes) \
|
||||||
S(close, NeedsBigProcessLock::Yes) \
|
S(close, NeedsBigProcessLock::Yes) \
|
||||||
S(read, NeedsBigProcessLock::Yes) \
|
S(read, NeedsBigProcessLock::Yes) \
|
||||||
|
|
|
@ -10,9 +10,9 @@ namespace Kernel {
|
||||||
|
|
||||||
KResultOr<FlatPtr> Process::sys$yield()
|
KResultOr<FlatPtr> Process::sys$yield()
|
||||||
{
|
{
|
||||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this)
|
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||||
REQUIRE_PROMISE(stdio);
|
REQUIRE_PROMISE(stdio);
|
||||||
Thread::current()->yield_and_release_relock_big_lock();
|
Thread::current()->yield_assuming_not_holding_big_lock();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue