aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2016-03-07 22:07:42 +0100
committerAnders Svensson <[email protected]>2016-03-07 22:07:42 +0100
commit184bc747089398d7fd74aef9bce48b42e8e71464 (patch)
tree9c8004d6300177cfd2be23dac8afc20f3c821c38 /lib/diameter
parentf749db7604cd452bace62ed333a3004135409993 (diff)
parentcc4ccfb0756bb563c869d94b630ccfecb571d6c2 (diff)
downloadotp-184bc747089398d7fd74aef9bce48b42e8e71464.tar.gz
otp-184bc747089398d7fd74aef9bce48b42e8e71464.tar.bz2
otp-184bc747089398d7fd74aef9bce48b42e8e71464.zip
Merge branch 'anders/diameter/retransmission/OTP-13342' into maint
* anders/diameter/retransmission/OTP-13342: Fix handling of shared peer connections in watchdog state SUSPECT Remove unnecessary parentheses Remove dead export
Diffstat (limited to 'lib/diameter')
-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 8bfc6daf1b..66c4a7582f 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.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -488,6 +488,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) ->
@@ -1422,8 +1425,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 07f39c562f..516353219a 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.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -41,7 +41,6 @@
-export([make_recvdata/1,
peer_up/1,
peer_down/1,
- failover/1,
pending/1]).
%% towards ?MODULE
@@ -1814,7 +1813,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
@@ -1864,7 +1863,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,