mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:22:45 +00:00 
			
		
		
		
	Kernel: Disable big process lock for sys$clock_gettime()
This syscall doesn't touch any intra-process shared resources and reads the time via the atomic TimeManagement::current_time, so it doesn't need to hold any lock.
This commit is contained in:
		
							parent
							
								
									1a08694dfc
								
							
						
					
					
						commit
						fbd848e6eb
					
				
					 2 changed files with 2 additions and 2 deletions
				
			
		|  | @ -157,7 +157,7 @@ enum class NeedsBigProcessLock { | |||
|     S(getrandom, NeedsBigProcessLock::No)                   \ | ||||
|     S(getkeymap, NeedsBigProcessLock::No)                   \ | ||||
|     S(setkeymap, NeedsBigProcessLock::Yes)                  \ | ||||
|     S(clock_gettime, NeedsBigProcessLock::Yes)              \ | ||||
|     S(clock_gettime, NeedsBigProcessLock::No)               \ | ||||
|     S(clock_settime, NeedsBigProcessLock::Yes)              \ | ||||
|     S(clock_nanosleep, NeedsBigProcessLock::Yes)            \ | ||||
|     S(join_thread, NeedsBigProcessLock::Yes)                \ | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ namespace Kernel { | |||
| 
 | ||||
| KResultOr<FlatPtr> Process::sys$clock_gettime(clockid_t clock_id, Userspace<timespec*> user_ts) | ||||
| { | ||||
|     VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); | ||||
|     VERIFY_NO_PROCESS_BIG_LOCK(this); | ||||
|     REQUIRE_PROMISE(stdio); | ||||
| 
 | ||||
|     if (!TimeManagement::is_valid_clock_id(clock_id)) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Idan Horowitz
						Idan Horowitz