1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:37:35 +00:00

Kernel: Mark sys$fsync() as not needing the big lock

This syscall doesn't access any data that was implicitly protected by
the big lock.
This commit is contained in:
Andreas Kling 2022-03-07 21:38:10 +01:00
parent ef45ff4703
commit 6354a9a030
2 changed files with 2 additions and 2 deletions

View file

@ -78,7 +78,7 @@ enum class NeedsBigProcessLock {
S(fork, NeedsBigProcessLock::Yes) \ S(fork, NeedsBigProcessLock::Yes) \
S(fstat, NeedsBigProcessLock::No) \ S(fstat, NeedsBigProcessLock::No) \
S(fstatvfs, NeedsBigProcessLock::Yes) \ S(fstatvfs, NeedsBigProcessLock::Yes) \
S(fsync, NeedsBigProcessLock::Yes) \ S(fsync, NeedsBigProcessLock::No) \
S(ftruncate, NeedsBigProcessLock::Yes) \ S(ftruncate, NeedsBigProcessLock::Yes) \
S(futex, NeedsBigProcessLock::Yes) \ S(futex, NeedsBigProcessLock::Yes) \
S(get_dir_entries, NeedsBigProcessLock::Yes) \ S(get_dir_entries, NeedsBigProcessLock::Yes) \

View file

@ -10,7 +10,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$fsync(int fd) ErrorOr<FlatPtr> Process::sys$fsync(int fd)
{ {
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::stdio)); TRY(require_promise(Pledge::stdio));
auto description = TRY(open_file_description(fd)); auto description = TRY(open_file_description(fd));
TRY(description->sync()); TRY(description->sync());