File 6052-erpc-doc-changes-for-always_spawn.patch of Package erlang
From 717e1491bea36cf910609f1b9e5d146ee38b4b28 Mon Sep 17 00:00:00 2001
From: Jan Uhlig <juhlig@hnc-agency.org>
Date: Mon, 26 Aug 2024 18:58:24 +0200
Subject: [PATCH 2/3] erpc doc changes for always_spawn
---
lib/kernel/src/erpc.erl | 79 ++++++++++++++++++-----------------------
1 file changed, 35 insertions(+), 44 deletions(-)
diff --git a/lib/kernel/src/erpc.erl b/lib/kernel/src/erpc.erl
index c674a08d67..c195a74a92 100644
--- a/lib/kernel/src/erpc.erl
+++ b/lib/kernel/src/erpc.erl
@@ -52,7 +52,10 @@
reqids_add/3,
reqids_to_list/1]).
--export_type([request_id/0, request_id_collection/0, timeout_time/0]).
+-export_type([call_options/0,
+ request_id/0,
+ request_id_collection/0,
+ timeout_time/0]).
%% Internal exports (also used by the 'rpc' module)
@@ -75,8 +78,8 @@
-type timeout_time() :: 0..?MAX_INT_TIMEOUT | 'infinity' | {abs, integer()}.
--type call_options() :: #{'timeout' => timeout_time(),
- 'always_spawn' => boolean()}.
+-type call_options() :: #{'timeout' => Timeout :: timeout_time(),
+ 'always_spawn' => AlwaysSpawn :: boolean()}.
%%------------------------------------------------------------------------
%% Exported API
diff --git a/lib/kernel/doc/src/erpc.xml b/lib/kernel/doc/src/erpc.xml
index c674a08d67..c195a74a92 100644
--- a/lib/kernel/doc/src/erpc.xml
+++ b/lib/kernel/doc/src/erpc.xml
@@ -156,8 +156,8 @@
Evaluates <c>apply(<anno>Module</anno>, <anno>Function</anno>,
<anno>Args</anno>)</c> on node <c><anno>Node</anno></c> and returns
the corresponding value <c><anno>Result</anno></c>.
- <c><anno>Timeout</anno></c> sets an upper time limit
- for the <c>call</c> operation to complete.
+ <c><anno>TimeoutOrOptions</anno></c> can be either a
+ <c>timeout_time()</c> or a <c>call_options()</c> map.
</p>
<p>The call <c>erpc:call(<anno>Node</anno>, <anno>Module</anno>,
<anno>Function</anno>, <anno>Args</anno>)</c> is equivalent
@@ -289,10 +289,10 @@
<note>
<p>
- You cannot make <em>any</em> assumptions about the
- process that will perform the <c>apply()</c>. It may
- be the calling process itself, a server, or a freshly
- spawned process.
+ If the <c>always_spawn</c> option is <c>false</c> (which is the default),
+ you cannot make <em>any</em> assumptions about the process that will perform
+ the <c>apply()</c>.
+ It may be the calling process itself, or a freshly spawned process.
</p>
</note>
</desc>
@@ -337,13 +337,6 @@
the list is not verified to be a proper list at the client
side.</p></item>
</list>
- <note>
- <p>
- You cannot make <em>any</em> assumptions about the
- process that will perform the <c>apply()</c>. It may
- be a server, or a freshly spawned process.
- </p>
- </note>
</desc>
</func>
@@ -498,9 +491,14 @@
on multiple nodes. That is, evaluates
<c>apply(<anno>Module</anno>, <anno>Function</anno>,
<anno>Args</anno>)</c> on the nodes <c><anno>Nodes</anno></c>
- in parallel. <c><anno>Timeout</anno></c> sets an upper time
- limit for all <c>call</c> operations to complete. The result
- is returned as a list where the result from each node is placed
+ in parallel.
+ </p>
+ <p>
+ <c>TimeoutOrOptions</c> can be either a <c>timeout_time()</c>
+ or a <c>call_options()</c> map
+ </p>
+ <p>
+ The result is returned as a list where the result from each node is placed
at the same position as the node name is placed in
<c><anno>Nodes</anno></c>. Each item in the resulting list is
formatted as either:
@@ -576,10 +573,10 @@ my_multicall(Nodes, Module, Function, Ar
<note>
<p>
- You cannot make <em>any</em> assumptions about the
- process that will perform the <c>apply()</c>. It may
- be the calling process itself, a server, or a freshly
- spawned process.
+ If the <c>always_spawn</c> option is <c>false</c> (which is the default),
+ you cannot make <em>any</em> assumptions about the processes that will perform
+ the <c>apply()</c>s.
+ It may be the calling process itself, or freshly spawned processes, or a mix of both.
</p>
</note>
</desc>
@@ -627,13 +624,6 @@ my_multicall(Nodes, Module, Function, Ar
<item><p><c><anno>Args</anno></c> is not a list. Note that the
list is not verified to be a proper list at the client side.</p></item>
</list>
- <note>
- <p>
- You cannot make <em>any</em> assumptions about the
- process that will perform the <c>apply()</c>. It may
- be a server, or a freshly spawned process.
- </p>
- </note>
</desc>
</func>
@@ -877,13 +867,6 @@ my_call(Node, Module, Function, Args, Ti
<item><p><c><anno>Fun</anno></c> is not a fun of
zero arity.</p></item>
</list>
- <note>
- <p>
- You cannot make <em>any</em> assumptions about the
- process that will perform the <c>apply()</c>. It may
- be a server, or a freshly spawned process.
- </p>
- </note>
</desc>
</func>
@@ -941,13 +924,6 @@ my_call(Node, Module, Function, Args, Ti
<item><p><c><anno>Args</anno></c> is not a list. Note that the
list is not verified to be a proper list at the client side.</p></item>
</list>
- <note>
- <p>
- You cannot make <em>any</em> assumptions about the
- process that will perform the <c>apply()</c>. It may
- be a server, or a freshly spawned process.
- </p>
- </note>
</desc>
</func>
@@ -968,13 +944,6 @@ my_call(Node, Module, Function, Args, Ti
<item><p><c><anno>RequestIdCollection</anno></c> is detected not to
be request identifier collection.</p></item>
</list>
- <note>
- <p>
- You cannot make <em>any</em> assumptions about the
- process that will perform the <c>apply()</c>. It may
- be a server, or a freshly spawned process.
- </p>
- </note>
</desc>
</func>
@@ -1015,13 +984,6 @@ my_call(Node, Module, Function, Args, Ti
<item><p><c><anno>RequestIdCollection</anno></c> is detected not to
be request identifier collection.</p></item>
</list>
- <note>
- <p>
- You cannot make <em>any</em> assumptions about the
- process that will perform the <c>apply()</c>. It may
- be a server, or a freshly spawned process.
- </p>
- </note>
</desc>
</func>
--
2.43.0