Module Await_capsule.SyncSource

Locks protecting explicit capsules which take a Sync.t, and may only be held for a bounded period of time.

The Sync.t capability is passed to all callbacks to allow further use of synchronization primitives.

You should prefer the primitives exported by this module over those exported by the Await module if you can, as they are easier to reason about and less likely to lead to deadlocks

Sourcemodule type Module_with_mutex = sig ... end
Sourcemodule type Module_with_rwlock = sig ... end
Sourcemodule Mutex : sig ... end
Sourcemodule With_mutex : sig ... end
Sourcemodule Rwlock : sig ... end
Sourcemodule With_rwlock : sig ... end