package eio
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Effect-based direct-style IO API for OCaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
eio-1.4.tbz
sha256=ba11ad486f492130dbb486f2b3bdc4905643f10016806ddf86e9a34e4346aaa5
sha512=57ef2c137ccdc26d8029e636b6a4ee92da7c6b2f35954946bd56ca595d6947a8ec42f6f83f8552f73d6719e6ce2314cae2e2fad1686a387522935e6f90e9a8d9
doc/src/eio.utils/dla.ml.html
Source file dla.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22let prepare_for_await () = let state = Atomic.make `Init in let release () = if Atomic.get state != `Released then match Atomic.exchange state `Released with | `Awaiting enqueue -> enqueue (Ok ()) | _ -> () and await () = if Atomic.get state != `Released then Eio.Private.Suspend.enter "domain-local-await" @@ fun ctx enqueue -> let awaiting = `Awaiting enqueue in if Atomic.compare_and_set state `Init awaiting then ( Eio.Private.Fiber_context.set_cancel_fn ctx (fun ex -> if Atomic.compare_and_set state awaiting `Released then ( enqueue (Error ex) ) ) ) else ( enqueue (Ok ()) ) in Domain_local_await.{ release; await }
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>