33 lines
559 B
Haxe
Raw Normal View History

2025-01-22 16:18:30 +01:00
package eval.luv;
/**
Semaphores.
@see https://aantron.github.io/luv/luv/Luv/Semaphore
**/
@:coreType abstract Semaphore {
/**
Allocates and initializes a read-write lock.
**/
static public function init(value:Int):Result<Semaphore>;
/**
Cleans up a semaphore.
**/
public function destroy():Void;
/**
Increments a semaphore.
**/
public function post():Void;
/**
Decrements a semaphore.
**/
public function wait():Void;
/**
Tries to decrement a semaphore without blocking.
**/
public function tryWait():Result<Result.NoData>;
}