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

openSUSE Build Service is sponsored by