Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module type Lwt_main.Hooks

module type Hooks = sig..end

Hook sequences. Each module of this type is a set of hooks, to be run by Lwt at certain points during execution. See modules Lwt_main.Enter_iter_hooks, Lwt_main.Leave_iter_hooks, and Lwt_main.Exit_hooks.


type 'return_value kind

Hooks are functions of either type unit -> unit or unit -> unit Lwt.t; this type constructor is used only to express both possibilities in one signature.

type hook

Values of type hook represent hooks that have been added, so that they can be removed later (if needed).

val add_first : (unit -> unit kind) -> hook

Adds a hook to the hook sequence underlying this module, to be run first, before any other hooks already added.

val add_last : (unit -> unit kind) -> hook

Adds a hook to the hook sequence underlying this module, to be run last, after any other hooks already added.

val remove : hook -> unit
val remove_all : unit -> unit

Removes all hooks from the hook sequence underlying this module.