aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2018-08-07 15:06:42 +0200
committerIngela Anderton Andin <[email protected]>2018-08-07 15:14:41 +0200
commit8efc1ab04cbc529d28568b038d54139d238087f1 (patch)
tree9d2949c96f96d52d8c28946a4016bb88c2cf5860 /lib/ssl/src
parentcfebc7ca5667807768755e0a0cdac641e8fbb54d (diff)
downloadotp-8efc1ab04cbc529d28568b038d54139d238087f1.tar.gz
otp-8efc1ab04cbc529d28568b038d54139d238087f1.tar.bz2
otp-8efc1ab04cbc529d28568b038d54139d238087f1.zip
ssl: Correct close handling
Transport accepted sockets that are in the error state, was not closed properly.
Diffstat (limited to 'lib/ssl/src')
-rw-r--r--lib/ssl/src/ssl_connection.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/ssl/src/ssl_connection.erl b/lib/ssl/src/ssl_connection.erl
index 064350e6de..4b3a6cde01 100644
--- a/lib/ssl/src/ssl_connection.erl
+++ b/lib/ssl/src/ssl_connection.erl
@@ -634,6 +634,8 @@ init(_Type, _Event, _State, _Connection) ->
tls_connection | dtls_connection) ->
gen_statem:state_function_result().
%%--------------------------------------------------------------------
+error({call, From}, {close, _}, State, _Connection) ->
+ stop_and_reply(normal, {reply, From, ok}, State);
error({call, From}, _Msg, State, _Connection) ->
{next_state, ?FUNCTION_NAME, State, [{reply, From, {error, closed}}]}.