forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			48 lines
		
	
	
		
			972 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			972 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								package eval.luv;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
									Read-write locks.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@see https://aantron.github.io/luv/luv/Luv/Rwlock
							 | 
						||
| 
								 | 
							
								**/
							 | 
						||
| 
								 | 
							
								@:coreType abstract RwLock {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Allocates and initializes a read-write lock.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									static public function init():Result<RwLock>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Cleans up a read-write lock.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function destroy():Void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Takes a read-write lock for reading (shared access).
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function rdLock():Void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Tries to take a read-write lock for reading without blocking.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function rdTryLock():Result<Result.NoData>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Releases a read-write lock after it was taken for reading.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function rdUnlock():Void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Takes a read-write lock for writing (exclusive access).
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function wrLock():Void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Tries to take a read-write lock for writing without blocking.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function wrTryLock():Result<Result.NoData>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Releases a read-write lock after it was taken for writing.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function wrUnlock():Void;
							 | 
						||
| 
								 | 
							
								}
							 |