diff options
author | Anders Svensson <[email protected]> | 2012-10-16 01:23:43 +0200 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2012-11-05 11:56:52 +0100 |
commit | 4aecd733017411b3975ef38aea37f0532cc0b324 (patch) | |
tree | d18b5afedb28ae49367d1ad2c06c379d16e34547 /lib/diameter | |
parent | 618642cc8bf057294f86eadfb7c0968c089a0dac (diff) | |
download | otp-4aecd733017411b3975ef38aea37f0532cc0b324.tar.gz otp-4aecd733017411b3975ef38aea37f0532cc0b324.tar.bz2 otp-4aecd733017411b3975ef38aea37f0532cc0b324.zip |
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.
Diffstat (limited to 'lib/diameter')
-rw-r--r-- | lib/diameter/src/base/diameter_peer_fsm.erl | 7 |
1 files changed, 6 insertions, 1 deletions
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 |