diff options
author | Anders Svensson <[email protected]> | 2013-04-12 15:32:48 +0200 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2013-04-12 15:32:48 +0200 |
commit | 232d1b9a76d977e428e7137069c0e0b3a9fdab06 (patch) | |
tree | 7aa2cb9eebf4e46ff472f4794000df4189cf8f42 /lib/diameter/src/base/diameter_peer_fsm.erl | |
parent | b517a3a6c8d142a813c4e082eb220ec04da00dde (diff) | |
parent | 656b37f1b6fbc3611f5e0f8b8c0e4f61bef9092b (diff) | |
download | otp-232d1b9a76d977e428e7137069c0e0b3a9fdab06.tar.gz otp-232d1b9a76d977e428e7137069c0e0b3a9fdab06.tar.bz2 otp-232d1b9a76d977e428e7137069c0e0b3a9fdab06.zip |
Merge branch 'maint'
Diffstat (limited to 'lib/diameter/src/base/diameter_peer_fsm.erl')
-rw-r--r-- | lib/diameter/src/base/diameter_peer_fsm.erl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/diameter/src/base/diameter_peer_fsm.erl b/lib/diameter/src/base/diameter_peer_fsm.erl index bee3e507fd..6be4259510 100644 --- a/lib/diameter/src/base/diameter_peer_fsm.erl +++ b/lib/diameter/src/base/diameter_peer_fsm.erl @@ -351,10 +351,17 @@ transition({diameter, {TPid, connected, Remote}}, mode = M} = S) -> {'Wait-Conn-Ack', _} = PS, %% assert - connect = M, %% + connect = M, %% keep_transport(TPid), send_CER(S#state{mode = {M, Remote}}); +transition({diameter, {TPid, connected, Remote, LAddrs}}, + #state{transport = TPid, + service = Svc} + = S) -> + transition({diameter, {TPid, connected, Remote}}, + S#state{service = readdr(Svc, LAddrs)}); + %% Connection from peer. transition({diameter, {TPid, connected}}, #state{transport = TPid, @@ -363,7 +370,7 @@ transition({diameter, {TPid, connected}}, parent = Pid} = S) -> {'Wait-Conn-Ack', Tmo} = PS, %% assert - accept = M, %% + accept = M, %% keep_transport(TPid), Pid ! {accepted, self()}, start_timer(Tmo, S#state{state = recv_CER}); @@ -376,6 +383,8 @@ transition({diameter, {_, connected}}, _) -> {stop, connection_timeout}; transition({diameter, {_, connected, _}}, _) -> {stop, connection_timeout}; +transition({diameter, {_, connected, _, _}}, _) -> + {stop, connection_timeout}; %% Connection has timed out: start an alternate. transition({connection_timeout = T, TPid}, |