| 1234567891011121314151617181920212223242526272829303132 | package sys.thread;#if doc_gen@:coreApi extern class Semaphore {	function new(value:Int):Void;	function acquire():Void;	function tryAcquire(?timeout:Float):Bool;	function release():Void;}#elseabstract Semaphore(hl.Abstract<"hl_semaphore">) {	public function new(value:Int):Void {		this = alloc(value);	}	@:hlNative("std", "semaphore_acquire")	public function acquire():Void {}	@:hlNative("std", "semaphore_release")	public function release():Void {}	@:hlNative("std", "semaphore_try_acquire")	public function tryAcquire(?timeout:Float):Bool {		return false;	}	@:hlNative("std", "semaphore_alloc")	static function alloc(value:Int):hl.Abstract<"hl_semaphore"> {		return null;	}}#end
 |