This commit is contained in:
c-cube 2024-10-18 16:58:25 +00:00
parent 5247c2fa73
commit 15ccdb73d2
5 changed files with 17 additions and 11 deletions

File diff suppressed because one or more lines are too long

View file

@ -19,7 +19,7 @@ else
<span><span class="type-var">'x</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'y</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span><a href="../Trigger/index.html#type-t">Trigger.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'x</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'y</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span>
bool</span></code></div><div class="spec-doc"><p><code>try_suspend fiber trigger x y resume</code> tries to suspend the <code>fiber</code> to await for the <code>trigger</code> to be <a href="../Trigger/index.html#val-signal" title="Trigger.signal">signaled</a>. If the result is <code>false</code>, then the <code>trigger</code> is guaranteed to be in the signaled state and the fiber should be eventually resumed. If the result is <code>true</code>, then the fiber was suspended, meaning that the <code>trigger</code> will have had the <code>resume</code> action <a href="../Trigger/index.html#val-on_signal" title="Trigger.on_signal">attached</a> to it and the trigger has potentially been <a href="../Computation/index.html#val-try_attach" title="Computation.try_attach">attached</a> to the <code>computation</code> of the fiber.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unsuspend"><a href="#val-unsuspend" class="anchor"></a><code><span><span class="keyword">val</span> unsuspend : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Trigger/index.html#type-t">Trigger.t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>unsuspend fiber trigger</code> makes sure that the <code>trigger</code> will not be attached to the computation of the <code>fiber</code>. Returns <code>false</code> in case the fiber has been canceled and propagation of cancelation is not forbidden. Otherwise returns <code>true</code>.</p><p>⚠️ The trigger must be in the signaled state!</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-resume"><a href="#val-resume" class="anchor"></a><code><span><span class="keyword">val</span> resume :
bool</span></code></div><div class="spec-doc"><p><code>try_suspend fiber trigger x y resume</code> tries to suspend the <code>fiber</code> to await for the <code>trigger</code> to be <a href="../Trigger/index.html#val-signal" title="Trigger.signal">signaled</a>. If the result is <code>false</code>, then the <code>trigger</code> is guaranteed to be in the signaled state and the fiber should be eventually resumed. If the result is <code>true</code>, then the fiber was suspended, meaning that the <code>trigger</code> will have had the <code>resume</code> action <a href="../Trigger/index.html#val-on_signal" title="Trigger.on_signal">attached</a> to it and the trigger has potentially been <a href="../Computation/index.html#val-try_attach" title="Computation.try_attach">attached</a> to the <code>computation</code> of the fiber.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unsuspend"><a href="#val-unsuspend" class="anchor"></a><code><span><span class="keyword">val</span> unsuspend : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Trigger/index.html#type-t">Trigger.t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>unsuspend fiber trigger</code> makes sure that the <code>trigger</code> will not be attached to the computation of the <code>fiber</code>. Returns <code>false</code> in case the fiber has been canceled and propagation of cancelation is not forbidden. Otherwise returns <code>true</code>.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>Invalid_argument</code> <p>if the trigger is not in the signaled state.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-resume"><a href="#val-resume" class="anchor"></a><code><span><span class="keyword">val</span> resume :
<span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span><span>(exn * <a href="../../../ocaml/Stdlib/Printexc/index.html#type-raw_backtrace">Stdlib.Printexc.raw_backtrace</a>)</span> option</span>, <span class="type-var">'r</span>)</span>
<a href="../../../ocaml/Stdlib/Effect/Deep/index.html#type-continuation">Stdlib.Effect.Deep.continuation</a></span> <span class="arrow">&#45;&gt;</span></span>

View file

@ -1,5 +1,16 @@
{0 Picos — Interoperable effects based concurrency}
This packages contains the core {!Picos} interface library and auxiliary
libraries for dealing with the OCaml multithreading architecture.
{1 Libraries}
{!modules:
Picos
Picos_domain
Picos_thread
}
{1 Introduction}
{!Picos} is a {{:https://en.wikipedia.org/wiki/Systems_programming} systems
@ -126,14 +137,6 @@ it is perhaps illuminating to explicitly mention some of those:
Let's build an incredible ecosystem of interoperable concurrent programming
libraries and frameworks!
{1 Libraries}
{!modules:
Picos
Picos_domain
Picos_thread
}
{1 Conventions}
Many operation in the Picos libraries use

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Picos_std_sync__Awaitable (picos_std.Picos_std_sync__Awaitable)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">picos_std</a> &#x00BB; Picos_std_sync__Awaitable</nav><header class="odoc-preamble"><h1>Module <code><span>Picos_std_sync__Awaitable</span></code></h1></header><div class="odoc-content"><p>This module is hidden.</p></div></body></html>