aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2012-11-05 16:54:45 +0100
committerAnders Svensson <[email protected]>2012-11-05 16:54:45 +0100
commitf14d113ac141d87b997dc5c9c1bb1154c1385291 (patch)
tree884e76beeab4e51638e4cb09ef12e63fd7673ce6 /lib
parent172830959159cddd3db1c9aa544b174d22ffcf47 (diff)
parentde4669e2cb16f3a986cdf1df3f1757d8b8c9b646 (diff)
downloadotp-f14d113ac141d87b997dc5c9c1bb1154c1385291.tar.gz
otp-f14d113ac141d87b997dc5c9c1bb1154c1385291.tar.bz2
otp-f14d113ac141d87b997dc5c9c1bb1154c1385291.zip
Merge branch 'anders/diameter/patch/R15B02/upgrade/OTP-10550' into anders/diameter/patch/R15B02/OTP-10555
* anders/diameter/patch/R15B02/upgrade/OTP-10550: Allow for no diameter on remote node in connection guard
Diffstat (limited to 'lib')
-rw-r--r--lib/diameter/src/base/diameter_peer_fsm.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/diameter/src/base/diameter_peer_fsm.erl b/lib/diameter/src/base/diameter_peer_fsm.erl
index 302540e76b..035bdad632 100644
--- a/lib/diameter/src/base/diameter_peer_fsm.erl
+++ b/lib/diameter/src/base/diameter_peer_fsm.erl
@@ -967,12 +967,16 @@ dpa_timer() ->
%% both fail to do so this isn't foolproof.
register_everywhere(T) ->
- diameter_reg:add_new(T)
- andalso unregistered(T).
+ diameter_reg:add_new(T) andalso unregistered(T).
unregistered(T) ->
{ResL, _} = rpc:multicall(?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({Node, _})
when Node == node() ->