From c89f88ab3ec77ebc1cef180e1ae5c9917b4c7b06 Mon Sep 17 00:00:00 2001 From: Siri Hansen Date: Tue, 18 Dec 2012 18:19:29 +0100 Subject: [cover] Don't mark stopped node as lost Nodes that were stopped with cover:stop/1 were marked as lost and would be reconnected if a nodeup was later received for a node with the same name. This has been corrected. --- lib/tools/src/cover.erl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'lib/tools/src') diff --git a/lib/tools/src/cover.erl b/lib/tools/src/cover.erl index 10f14b0a49..e51763b6ee 100644 --- a/lib/tools/src/cover.erl +++ b/lib/tools/src/cover.erl @@ -792,8 +792,15 @@ main_process_loop(State) -> {'DOWN', _MRef, process, {?SERVER,Node}, _Info} -> %% A remote cover_server is down, mark as lost - Nodes = State#main_state.nodes--[Node], - Lost = [Node|State#main_state.lost_nodes], + {Nodes,Lost} = + case lists:member(Node,State#main_state.nodes) of + true -> + N = State#main_state.nodes--[Node], + L = [Node|State#main_state.lost_nodes], + {N,L}; + false -> % node stopped + {State#main_state.nodes,State#main_state.lost_nodes} + end, main_process_loop(State#main_state{nodes=Nodes,lost_nodes=Lost}); {nodeup,Node} -> -- cgit v1.2.3