File 1171-mnesia-Handle-starting-and-stopping-in-connect_nodes.patch of Package erlang

From fa5033048eff892a468f3e0561bf249e4a5a59a4 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Tue, 16 Mar 2021 11:19:29 +0100
Subject: [PATCH] mnesia: Handle starting and stopping in connect_nodes

system_info(is_running) can also return starting and stopping,
error out if that is the case since mnesia is not yet in a state
to connect to new nodes
---
 lib/mnesia/src/mnesia_controller.erl | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/mnesia/src/mnesia_controller.erl b/lib/mnesia/src/mnesia_controller.erl
index 5a8cb302b2..5bbd91184f 100644
--- a/lib/mnesia/src/mnesia_controller.erl
+++ b/lib/mnesia/src/mnesia_controller.erl
@@ -460,8 +460,6 @@ connect_nodes(Ns) ->
 
 connect_nodes(Ns, UserFun) ->
     case mnesia:system_info(is_running) of
-	no ->
-	    {error, {node_not_running, node()}};
 	yes ->
 	    Pid = spawn_link(?MODULE,connect_nodes2,[self(),Ns, UserFun]),
 	    receive
@@ -478,7 +476,9 @@ connect_nodes(Ns, UserFun) ->
 		    end;
 		{'EXIT', Pid, Reason} ->
 		    {error, Reason}
-	    end
+	    end;
+        _ -> %% no, starting or stopping not ready to make a connection yet
+	    {error, {node_not_running, node()}}
     end.
 
 connect_nodes2(Father, Ns, UserFun) ->
-- 
2.26.2

openSUSE Build Service is sponsored by