aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2019-03-07 20:44:46 +0100
committerIngela Anderton Andin <[email protected]>2019-03-08 09:01:51 +0100
commitca46b31327072c88140e5434b29fa826fc3d47ad (patch)
treee688b48270ace11887629e981c804993d218677b
parentbf952738a3be59693c35b2983020196bbbf71538 (diff)
downloadotp-ca46b31327072c88140e5434b29fa826fc3d47ad.tar.gz
otp-ca46b31327072c88140e5434b29fa826fc3d47ad.tar.bz2
otp-ca46b31327072c88140e5434b29fa826fc3d47ad.zip
ssl: Correct active once emulation
Conflicts: lib/ftp/test/ftp_SUITE.erl
-rw-r--r--lib/ssl/src/ssl_connection.erl5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/ssl/src/ssl_connection.erl b/lib/ssl/src/ssl_connection.erl
index 24fb091ddf..ad81288f64 100644
--- a/lib/ssl/src/ssl_connection.erl
+++ b/lib/ssl/src/ssl_connection.erl
@@ -2691,6 +2691,11 @@ ssl_options_list([Key | Keys], [Value | Values], Acc) ->
handle_active_option(false, connection = StateName, To, Reply, State) ->
hibernate_after(StateName, State, [{reply, To, Reply}]);
+handle_active_option(_, connection = StateName, To, _Reply, #state{connection_env = #connection_env{terminated = true},
+ user_data_buffer = {_,0,_}} = State) ->
+ handle_normal_shutdown(?ALERT_REC(?FATAL, ?CLOSE_NOTIFY, all_data_deliverd), StateName,
+ State#state{start_or_recv_from = To}),
+ {stop,{shutdown, peer_close}, State};
handle_active_option(_, connection = StateName0, To, Reply, #state{static_env = #static_env{protocol_cb = Connection},
user_data_buffer = {_,0,_}} = State0) ->
case Connection:next_event(StateName0, no_record, State0) of