Module Capsule_blocking_sync

module Capsule := Capsule_expert

Blocking versions of synchronization primitives

The synchronization primitives in this module are heavyweight and slow, and should generally not be depended on for new code. Instead, new code should use synchronization primitives from the Await library, using an appropriate implementation of awaiting.

These are defined here only to provide some form of synchronization for libraries which cannot depend on Await

val yield : unit -> unit @@ portable

If threads are available, yields the current thread. Does nothing in bytecode.

module Mutex : sig ... end
module Condition : sig ... end