From ba56f3e1e14689a9f590a68a0d1ae376eb721c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20L=C3=B6scher?= Date: Wed, 17 Feb 2021 19:19:26 +0000 Subject: [PATCH] fix spec for els_distribution_server:wait_connect_and_monitor/1,2,3 --- apps/els_core/src/els_distribution_server.erl | 6 +++--- apps/els_dap/src/els_dap_general_provider.erl | 13 ++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/apps/els_core/src/els_distribution_server.erl b/apps/els_core/src/els_distribution_server.erl index 91c3fc924..0aa56a463 100644 --- a/apps/els_core/src/els_distribution_server.erl +++ b/apps/els_core/src/els_distribution_server.erl @@ -155,11 +155,11 @@ start(Node) -> wait_connect_and_monitor(Node), ok. --spec wait_connect_and_monitor(atom()) -> ok. +-spec wait_connect_and_monitor(atom()) -> ok | error. wait_connect_and_monitor(Node) -> wait_connect_and_monitor(Node, ?WAIT_ATTEMPTS). --spec wait_connect_and_monitor(Node :: atom(), Attempts :: pos_integer()) -> ok. +-spec wait_connect_and_monitor(Node :: atom(), Attempts :: pos_integer()) -> ok | error. wait_connect_and_monitor(Node, Attempts) -> wait_connect_and_monitor(Node, Attempts, Attempts). @@ -167,7 +167,7 @@ wait_connect_and_monitor(Node, Attempts) -> Node :: atom(), Attempts :: pos_integer(), MaxAttempts :: pos_integer() -) -> ok. +) -> ok | error. wait_connect_and_monitor(Node, 0, MaxAttempts) -> ?LOG_ERROR( "Failed to connect to node ~p after ~p attempts" , [Node, MaxAttempts]), diff --git a/apps/els_dap/src/els_dap_general_provider.erl b/apps/els_dap/src/els_dap_general_provider.erl index c8a949ec6..26706862d 100644 --- a/apps/els_dap/src/els_dap_general_provider.erl +++ b/apps/els_dap/src/els_dap_general_provider.erl @@ -718,14 +718,13 @@ do_function_breaks(Node, Module, FBreaks, Breaks) -> -spec ensure_connected(node(), timeout()) -> ok. ensure_connected(Node, Timeout) -> - case is_node_up(Node) of + case is_node_connected(Node) of true -> ok; false -> % connect and monitore project node - els_distribution_server:wait_connect_and_monitor(Node, Timeout), - case is_node_up(Node) of - true -> inject_dap_agent(Node); - false -> stop_debugger() + case els_distribution_server:wait_connect_and_monitor(Node, Timeout) of + ok -> inject_dap_agent(Node); + _ -> stop_debugger() end end. @@ -737,6 +736,6 @@ stop_debugger() -> ?LOG_NOTICE("terminating debug adapter"), els_utils:halt(0). --spec is_node_up(node()) -> boolean(). -is_node_up(Node) -> +-spec is_node_connected(node()) -> boolean(). +is_node_connected(Node) -> lists:member(Node, erlang:nodes(connected)).