aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/tls_connection.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2018-01-04 11:21:49 +0100
committerIngela Anderton Andin <[email protected]>2018-01-04 11:21:49 +0100
commitfbdb318f51038545c776464a2413b59045c2140f (patch)
tree35603fccfe29749777e9233614716349990d0801 /lib/ssl/src/tls_connection.erl
parentf9a0bac8f708a5cf769860ef2ee8af0591c5dbaf (diff)
parent31782c3accacafb20bc7efd46004921aea8f9f22 (diff)
downloadotp-fbdb318f51038545c776464a2413b59045c2140f.tar.gz
otp-fbdb318f51038545c776464a2413b59045c2140f.tar.bz2
otp-fbdb318f51038545c776464a2413b59045c2140f.zip
Merge branch 'maint'
Conflicts: lib/ssl/src/tls_connection.erl
Diffstat (limited to 'lib/ssl/src/tls_connection.erl')
-rw-r--r--lib/ssl/src/tls_connection.erl9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/ssl/src/tls_connection.erl b/lib/ssl/src/tls_connection.erl
index 406a095d2e..cf2f3a2b62 100644
--- a/lib/ssl/src/tls_connection.erl
+++ b/lib/ssl/src/tls_connection.erl
@@ -439,8 +439,13 @@ init(Type, Event, State) ->
error({call, From}, {start, _Timeout}, {Error, State}) ->
ssl_connection:stop_and_reply(
normal, {reply, From, {error, Error}}, State);
-error({call, _} = Call, Msg, State) ->
- gen_handshake(?FUNCTION_NAME, Call, Msg, State);
+error({call, From}, {start, _Timeout},
+ #state{protocol_specific = #{error := Error}} = State) ->
+ ssl_connection:stop_and_reply(
+ normal, {reply, From, {error, Error}}, State);
+error({call, _} = Call, Msg, {Error, #state{protocol_specific = Map} = State}) ->
+ gen_handshake(?FUNCTION_NAME, Call, Msg,
+ State#state{protocol_specific = Map#{error => Error}});
error(_, _, _) ->
{keep_state_and_data, [postpone]}.