Plasma GitLab Archive
Projects Blog Knowledge

Class Uq_engines.msync_engine

class [['a, 'b]] msync_engine : 'a #engine list -> ('a -> 'b -> 'b) -> 'b -> Unixqueue.event_system -> ['b] engine

Multiple synchronization: let me = new msync_engine el f x0 esys - Runs the engines in el in parallel, and waits until all are `Done. The result of me is then computed by folding the results of the part engines using f, with an initial accumulator x0.

If one of the engines goes to the states `Aborted or `Error, the combined engine will follow this transition. The other, non-aborted and non-errorneous engines are aborted in this case. `Error has higher precedence than `Aborted.

If calling f results in an exception, this is handled as if the part engine signals an error.

If the combined engine is aborted, this request is forwarded to all member engines.

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml