diff --git a/src/esockd.appup.src b/src/esockd.appup.src index 49b51b5..50677bf 100644 --- a/src/esockd.appup.src +++ b/src/esockd.appup.src @@ -1,7 +1,7 @@ %%-*- mode: erlang; -*- -{"5.8.7", - [{"5.8.6",[{load_module,esockd_transport,brutal_purge,soft_purge,[]}]}, +{"5.8.8", + [{<<"5\\.8\\.[6-7]">>,[{load_module,esockd_transport,brutal_purge,soft_purge,[]}]}, {<<"5\\.8\\.[4-5]">>, [{load_module,esockd_udp,brutal_purge,soft_purge,[]}, {load_module,esockd_transport,brutal_purge,soft_purge,[]} @@ -21,7 +21,7 @@ ]}, {<<".*">>, []} ], - [{"5.8.6",[{load_module,esockd_transport,brutal_purge,soft_purge,[]}]}, + [{<<"5\\.8\\.[6-7]">>,[{load_module,esockd_transport,brutal_purge,soft_purge,[]}]}, {<<"5\\.8\\.[4-5]">>, [{load_module,esockd_udp,brutal_purge,soft_purge,[]}, {load_module,esockd_transport,brutal_purge,soft_purge,[]} diff --git a/src/esockd_transport.erl b/src/esockd_transport.erl index f5e4957..77d4484 100644 --- a/src/esockd_transport.erl +++ b/src/esockd_transport.erl @@ -349,6 +349,10 @@ ssl_upgrade_fun(SslOpts) -> {fun ?MODULE:ssl_upgrade/3, [SslOpts2, #{timeout => Timeout, gc_after_handshake => GCAfterHandshake}]}. +%% NOTE: The first clause of the function `ssl_upgrade` (with an integer parameter +%% `Timeout`) will be called by the running process after relup. So don't delete it. +ssl_upgrade(Sock, SslOpts1, Timeout) when is_integer(Timeout) -> + ssl_upgrade(Sock, SslOpts1, #{timeout => Timeout, gc_after_handshake => false}); ssl_upgrade(Sock, SslOpts1, #{timeout := Timeout, gc_after_handshake := GCAfterHandshake}) -> try do_ssl_handshake(Sock, SslOpts1, Timeout) of