aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2016-03-10 13:10:33 +0100
committerErlang/OTP <[email protected]>2016-03-10 13:10:33 +0100
commitcd4cfd29f4f59ffc45135653b595adea357b721e (patch)
treed65b95ba9d2d47cc71c862b8d502092bfc9cbd6e
parent018849331dff18342c9e620e1a1202b5a5ff35f8 (diff)
parentcc4ccfb0756bb563c869d94b630ccfecb571d6c2 (diff)
downloadotp-cd4cfd29f4f59ffc45135653b595adea357b721e.tar.gz
otp-cd4cfd29f4f59ffc45135653b595adea357b721e.tar.bz2
otp-cd4cfd29f4f59ffc45135653b595adea357b721e.zip
Merge branch 'anders/diameter/retransmission/OTP-13342' into maint-17
* anders/diameter/retransmission/OTP-13342: Fix handling of shared peer connections in watchdog state SUSPECT Remove unnecessary parentheses Remove dead export
-rw-r--r--lib/diameter/src/base/diameter_service.erl10
-rw-r--r--lib/diameter/src/base/diameter_traffic.erl7
2 files changed, 10 insertions, 7 deletions
diff --git a/lib/diameter/src/base/diameter_service.erl b/lib/diameter/src/base/diameter_service.erl
index d83ed9e56b..465f74a1fc 100644
--- a/lib/diameter/src/base/diameter_service.erl
+++ b/lib/diameter/src/base/diameter_service.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2010-2015. All Rights Reserved.
+%% Copyright Ericsson AB 2010-2016. All Rights Reserved.
%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
@@ -487,6 +487,9 @@ transition({service, Pid}, S) ->
transition({peer, TPid, Aliases, Caps}, S) ->
remote_peer_up(TPid, Aliases, Caps, S),
ok;
+transition({peer, TPid}, S) ->
+ remote_peer_down(TPid, S),
+ ok;
%% Remote peer process has died.
transition({'DOWN', _, process, TPid, _}, S) ->
@@ -1421,8 +1424,9 @@ share_peer(up, Caps, Apps, TPid, #state{options = [_, {_,T} | _],
service_name = Svc}) ->
notify(T, Svc, {peer, TPid, [A || {_,A} <- Apps], Caps});
-share_peer(_, _, _, _, _) ->
- ok.
+share_peer(down, _Caps, _Apps, TPid, #state{options = [_, {_,T} | _],
+ service_name = Svc}) ->
+ notify(T, Svc, {peer, TPid}).
%% ---------------------------------------------------------------------------
%% # share_peers/2
diff --git a/lib/diameter/src/base/diameter_traffic.erl b/lib/diameter/src/base/diameter_traffic.erl
index 004c1e80d5..5bfbadb436 100644
--- a/lib/diameter/src/base/diameter_traffic.erl
+++ b/lib/diameter/src/base/diameter_traffic.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2013-2015. All Rights Reserved.
+%% Copyright Ericsson AB 2013-2016. All Rights Reserved.
%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
@@ -40,7 +40,6 @@
-export([make_recvdata/1,
peer_up/1,
peer_down/1,
- failover/1,
pending/1]).
%% towards ?MODULE
@@ -1825,7 +1824,7 @@ store_request(T, TPid) ->
ets:member(?REQUEST_TABLE, TPid)
orelse begin
{_Seqs, _Req, TRef} = T,
- (self() ! {failover, TRef}) %% failover/1 may have missed
+ self() ! {failover, TRef} %% failover/1 may have missed
end.
%% lookup_request/2
@@ -1875,7 +1874,7 @@ failover(TPid)
%% notifications are sent here: store_request/2 sends the notification
%% in that case.
-%% Failover as a consequence of request_peer_down/1: inform the
+%% Failover as a consequence of peer_down/1: inform the
%% request process.
failover({_, Req, TRef}) ->
#request{handler = Pid,