Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
fiber.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
include Core module Cancel = Cancel module Pool = Pool module Stream = Stream module Mvar = Mvar module Svar = Svar module Throttle = Throttle module Mutex = Mutex module Scheduler = Scheduler let run = let rec loop ~iter (s : _ Scheduler.step) = match s with | Done a -> a | Stalled w -> loop ~iter (Scheduler.advance w (iter ())) in fun t ~iter -> loop ~iter (Scheduler.start t) type fill = Scheduler.fill = Fill : 'a ivar * 'a -> fill module Expert = struct type nonrec 'a k = 'a k let suspend f k = suspend f k let resume a x k = resume a x k end