Module Semaphore

module Semaphore: sig .. end

type t 
val make : int32 -> bool -> t
val acquire : t -> int32 -> unit
val acquire_uninterruptibly : t -> int32 -> unit
val available_permits : t -> int32
val drain_permits : t -> int32
val get_queue_length : t -> int32
val has_queued_threads : t -> bool
val is_fair : t -> bool
val release : t -> int32 -> unit
val try_acquire : t -> int32 -> bool
val try_acquire_time : t -> int32 -> int64 -> TimeUnit.t -> bool