sig
  type t
  val create : unit -> CCThread.Barrier.t
  val reset : CCThread.Barrier.t -> unit
  val wait : CCThread.Barrier.t -> unit
  val activate : CCThread.Barrier.t -> unit
  val activated : CCThread.Barrier.t -> bool
end