mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 18:57:34 +00:00
Kernel: Disable big process lock for sys$clock_nanosleep
This syscall doesn't touch any intra-process shared resources and only accesses the time via the atomic TimeManagement::current_time so there's no need to hold the big lock.
This commit is contained in:
parent
fbd848e6eb
commit
3ba2449058
2 changed files with 2 additions and 2 deletions
|
@ -159,7 +159,7 @@ enum class NeedsBigProcessLock {
|
||||||
S(setkeymap, NeedsBigProcessLock::Yes) \
|
S(setkeymap, NeedsBigProcessLock::Yes) \
|
||||||
S(clock_gettime, NeedsBigProcessLock::No) \
|
S(clock_gettime, NeedsBigProcessLock::No) \
|
||||||
S(clock_settime, NeedsBigProcessLock::Yes) \
|
S(clock_settime, NeedsBigProcessLock::Yes) \
|
||||||
S(clock_nanosleep, NeedsBigProcessLock::Yes) \
|
S(clock_nanosleep, NeedsBigProcessLock::No) \
|
||||||
S(join_thread, NeedsBigProcessLock::Yes) \
|
S(join_thread, NeedsBigProcessLock::Yes) \
|
||||||
S(module_load, NeedsBigProcessLock::Yes) \
|
S(module_load, NeedsBigProcessLock::Yes) \
|
||||||
S(module_unload, NeedsBigProcessLock::Yes) \
|
S(module_unload, NeedsBigProcessLock::Yes) \
|
||||||
|
|
|
@ -49,7 +49,7 @@ KResultOr<FlatPtr> Process::sys$clock_settime(clockid_t clock_id, Userspace<cons
|
||||||
|
|
||||||
KResultOr<FlatPtr> Process::sys$clock_nanosleep(Userspace<const Syscall::SC_clock_nanosleep_params*> user_params)
|
KResultOr<FlatPtr> Process::sys$clock_nanosleep(Userspace<const Syscall::SC_clock_nanosleep_params*> user_params)
|
||||||
{
|
{
|
||||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
|
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||||
REQUIRE_PROMISE(stdio);
|
REQUIRE_PROMISE(stdio);
|
||||||
|
|
||||||
Syscall::SC_clock_nanosleep_params params;
|
Syscall::SC_clock_nanosleep_params params;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue