Module Lwt_main

module Lwt_main: sig..end

Main loop and event queue



This module controls the ``main-loop'' of Lwt.

val run : 'a Lwt.t -> 'a

run t calls the Lwt scheduler repeatedly until t terminates, then returns the value returned by the thread. It t fails with an exception, this exception is raised.

Note that you should avoid using run inside threads* The calling threads will not resume before run returns.

  • Successive invocations of run are serialized: an invocation of run will not terminate before all subsequent invocations are terminated.


val yield : unit -> unit Lwt.t

yield () is a threads which suspends itself and then resumes as soon as possible and terminates.

val exit_hooks : (unit -> unit Lwt.t) Lwt_sequence.t

Sets of functions executed just before the program exit.

Notes:* each hook is called exactly one time

  • exceptions raised by hooks are ignored


val at_exit : (unit -> unit Lwt.t) -> unit

at_exit hook adds hook at the left of exit_hooks