File 5303-Add-additional-startup-function-for-command-line-use.patch of Package erlang

From a8eb5d518ec6d8ef32b8acd82682875c8a5502b1 Mon Sep 17 00:00:00 2001
From: Benedikt Reinartz <filmor@gmail.com>
Date: Thu, 27 Oct 2022 19:21:41 +0200
Subject: [PATCH 03/12] Add additional startup function for command-line use

---
 lib/observer/src/observer.erl | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/lib/observer/src/observer.erl b/lib/observer/src/observer.erl
index ae2cd930c4..ddd0293e19 100644
--- a/lib/observer/src/observer.erl
+++ b/lib/observer/src/observer.erl
@@ -19,17 +19,35 @@
 
 -module(observer).
 
--export([start/0, start/1, stop/0]).
+-export([start/0, start/1, start_and_wait/1, stop/0]).
 
 
 start() ->
     observer_wx:start().
 
-start(Node) ->
-    net_adm:ping(Node),
+start(Node) when is_atom(Node) ->
+    start([Node]);
+start([Node]) ->
+    Node1 = to_atom(Node),
+    net_adm:ping(Node1),
     Res = observer_wx:start(),
-    observer_wx:set_node(Node),
+    observer_wx:set_node(Node1),
     Res.
 
+start_and_wait(Node) when is_atom(Node) ->
+    start_and_wait([Node]);
+start_and_wait([Node]) ->
+    start(Node),
+    MonitorRef = monitor(process, observer),
+    receive
+        {'DOWN', MonitorRef, process, _, _} ->
+            ok
+    end.
+
 stop() ->
     observer_wx:stop().
+
+to_atom(Node) when is_atom(Node) ->
+    Node;
+to_atom(Node) when is_list(Node) ->
+    list_to_atom(Node).
-- 
2.35.3

openSUSE Build Service is sponsored by