aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/tls_connection.erl
diff options
context:
space:
mode:
authorRaimo Niskanen <[email protected]>2018-11-28 09:31:05 +0100
committerRaimo Niskanen <[email protected]>2018-11-30 15:07:17 +0100
commitcadbaea28debb5fb761597afb7f3ff85367f2a0c (patch)
treeeae291e6e562a92c2c2cf68de262f84964c9f7c9 /lib/ssl/src/tls_connection.erl
parent573220e4231bd6a7e4741dbd83848c2b03de048b (diff)
downloadotp-cadbaea28debb5fb761597afb7f3ff85367f2a0c.tar.gz
otp-cadbaea28debb5fb761597afb7f3ff85367f2a0c.tar.bz2
otp-cadbaea28debb5fb761597afb7f3ff85367f2a0c.zip
Handle tls_sender exit properly
Diffstat (limited to 'lib/ssl/src/tls_connection.erl')
-rw-r--r--lib/ssl/src/tls_connection.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/ssl/src/tls_connection.erl b/lib/ssl/src/tls_connection.erl
index 4dfb50967d..a4fc45e834 100644
--- a/lib/ssl/src/tls_connection.erl
+++ b/lib/ssl/src/tls_connection.erl
@@ -658,6 +658,12 @@ downgrade(Type, Event, State) ->
callback_mode() ->
state_functions.
+
+terminate(
+ {shutdown, sender_died, Reason}, _StateName,
+ #state{socket = Socket, transport_cb = Transport} = State) ->
+ ssl_connection:handle_trusted_certs_db(State),
+ close(Reason, Socket, Transport, undefined, undefined);
terminate(Reason, StateName, State) ->
catch ssl_connection:terminate(Reason, StateName, State),
ensure_sender_terminate(Reason, State).