package picos

  1. Overview
  2. Docs

A dynamic bundle of fibers guaranteed to be joined at the end.

type t

Represents a bundle of fibers.

val join_after : (t -> 'a) -> 'a

join_after scope calls scope with a bundle. A call of join_after returns or raises only after scope has returned or raised and all forked fibers have terminated. If scope raises an exception, error will be called.

ℹ️ When scope returns normally, terminate will not be called implicitly.

val terminate : ?callstack:int -> t -> unit

terminate bundle cancels all the forked fibers using the Terminate exception.

The optional callstack argument specifies the number of callstack entries to capture with the Terminate exception. The default is 0.

val error : t -> Picos.Exn_bt.t -> unit

error bundle exn_bt first calls terminate and then adds the exception with backtrace to the list of exceptions to be raised, unless the exception is the Terminate exception, which is not considered to signal an error by itself.

val fork : t -> (unit -> unit) -> unit

fork bundle action spawns a new fiber to the bundle that will run the given action. If the action raises an exception, error will be called with that exception.

OCaml

Innovation. Community. Security.