From 4aecd733017411b3975ef38aea37f0532cc0b324 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Tue, 16 Oct 2012 01:23:43 +0200 Subject: Allow for no diameter on remote node in connection guard The guard is against a connection to a given peer already existing but fails if diameter is not running on a remote node. Note that the guard itself is to be made configurable in R15B03 (OTP-10493) to allow multiple connections per peer. --- lib/diameter/src/base/diameter_peer_fsm.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib/diameter/src') diff --git a/lib/diameter/src/base/diameter_peer_fsm.erl b/lib/diameter/src/base/diameter_peer_fsm.erl index 297a5d7709..3f4945f7a6 100644 --- a/lib/diameter/src/base/diameter_peer_fsm.erl +++ b/lib/diameter/src/base/diameter_peer_fsm.erl @@ -1015,7 +1015,12 @@ add(false, T) -> unregistered(Nodes, T) -> {ResL, _} = rpc:multicall(Nodes, ?MODULE, match, [{node(), T}]), - lists:all(fun(L) -> [] == L end, ResL). + lists:all(fun nomatch/1, ResL). + +nomatch({badrpc, {'EXIT', {undef, _}}}) -> %% no diameter on remote node + true; +nomatch(L) -> + [] == L. %% match/1 -- cgit v1.2.3