35 lines
		
	
	
		
			581 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			581 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
package eval.luv;
 | 
						|
 | 
						|
/**
 | 
						|
	Mutexes.
 | 
						|
 | 
						|
	@see https://aantron.github.io/luv/luv/Luv/Mutex
 | 
						|
**/
 | 
						|
@:coreType abstract Mutex {
 | 
						|
	/**
 | 
						|
		Allocates and initializes a mutex.
 | 
						|
	**/
 | 
						|
	static public function init(?recursive:Bool):Result<Mutex>;
 | 
						|
 | 
						|
	/**
 | 
						|
		Cleans up a mutex.
 | 
						|
	**/
 | 
						|
	public function destroy():Void;
 | 
						|
 | 
						|
	/**
 | 
						|
		Takes the mutex.
 | 
						|
 | 
						|
		The calling thread is blocked until it obtains the mutex.
 | 
						|
	**/
 | 
						|
	public function lock():Void;
 | 
						|
 | 
						|
	/**
 | 
						|
		Tries to take the mutex without blocking.
 | 
						|
	**/
 | 
						|
	public function tryLock():Result<Result.NoData>;
 | 
						|
 | 
						|
	/**
 | 
						|
		Releases the mutex.
 | 
						|
	**/
 | 
						|
	public function unlock():Void;
 | 
						|
} |