1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 08:27:35 +00:00

Kernel: Disable big process lock for sys$sync

This syscall doesn't touch any intra-process shared resources and only
calls VirtualFileSystem::sync, which is self-locking.
This commit is contained in:
Idan Horowitz 2021-08-07 16:06:07 +03:00 committed by Andreas Kling
parent 0d468f2282
commit 9d21c79671
2 changed files with 2 additions and 2 deletions

View file

@ -106,7 +106,7 @@ enum class NeedsBigProcessLock {
S(mkdir, NeedsBigProcessLock::Yes) \ S(mkdir, NeedsBigProcessLock::Yes) \
S(times, NeedsBigProcessLock::Yes) \ S(times, NeedsBigProcessLock::Yes) \
S(utime, NeedsBigProcessLock::Yes) \ S(utime, NeedsBigProcessLock::Yes) \
S(sync, NeedsBigProcessLock::Yes) \ S(sync, NeedsBigProcessLock::No) \
S(ptsname, NeedsBigProcessLock::Yes) \ S(ptsname, NeedsBigProcessLock::Yes) \
S(select, NeedsBigProcessLock::Yes) \ S(select, NeedsBigProcessLock::Yes) \
S(unlink, NeedsBigProcessLock::Yes) \ S(unlink, NeedsBigProcessLock::Yes) \

View file

@ -11,7 +11,7 @@ namespace Kernel {
KResultOr<FlatPtr> Process::sys$sync() KResultOr<FlatPtr> Process::sys$sync()
{ {
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this) VERIFY_NO_PROCESS_BIG_LOCK(this)
REQUIRE_PROMISE(stdio); REQUIRE_PROMISE(stdio);
VirtualFileSystem::sync(); VirtualFileSystem::sync();
return 0; return 0;