Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Identity concurrency monad. Note that Id.mutex
is a dummy type that * doesn't actually work like a mutex (i.e., Id.with_lock m f
is equivalent * to f ()
. This is so because in ocaml-sqlexpr's context Sqlite
handles * can only be used from the thread where they were created, so there's no * need for mutual exclusion because trying to use the same handle from * different threads would be an error anyway.
val return : 'a -> 'a t
val fail : exn -> 'a t
val sleep : float -> unit t
val auto_yield : float -> unit -> unit t
val create_recursive_mutex : unit -> mutex
Create a recursive mutex that can be locked recursively by the same * thread; i.e., unlike a regular mutex, * with_lock m (fun () -> ... with_lock m (fun () -> ... ))
* will not block.
val register_finaliser : ('a -> unit t) -> 'a -> unit