From 8abe16c22d9a7d035ad8505b66d5d0611e35b543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Wei=C3=9Fl?= Date: Fri, 19 May 2017 00:47:06 +0200 Subject: Fix non-delivery of ssl_closed message in active once The commit 8b10920 (OTP 19.3.1) fixed the non-delivery of final TLS record in {active, once}, but this causes the ssl_closed message to be lost when the TCP connection closes before ssl:close/1. The patch restores the behavior of OTP 18. This is the second part to fix https://bugs.erlang.org/browse/ERL-420 --- lib/ssl/src/tls_connection.erl | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/ssl/src') diff --git a/lib/ssl/src/tls_connection.erl b/lib/ssl/src/tls_connection.erl index 96c3ab86e9..a7720e19b5 100644 --- a/lib/ssl/src/tls_connection.erl +++ b/lib/ssl/src/tls_connection.erl @@ -429,6 +429,7 @@ handle_info({CloseTag, Socket}, StateName, %% Fixes non-delivery of final TLS record in {active, once}. %% Basically allows the application the opportunity to set {active, once} again %% and then receive the final message. + self() ! {CloseTag, Socket}, next_event(StateName, no_record, State) end; handle_info(Msg, StateName, State) -> -- cgit v1.2.3