From 81cf7b6c922f56b2de4656b91a6d1af0d9a9c432 Mon Sep 17 00:00:00 2001
From: Ingela Anderton Andin <ingela@erlang.org>
Date: Tue, 18 Sep 2018 18:57:35 +0200
Subject: ssl: Move link to correct process

The link should be between the connection process and the tls_sender
process. But the start of the tls_sender process needs to be done
by the process that also starts the connection process in order to
correctly create the opaque #ssl_socket{}.
---
 lib/ssl/src/tls_connection.erl | 1 +
 lib/ssl/src/tls_sender.erl     | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/ssl/src/tls_connection.erl b/lib/ssl/src/tls_connection.erl
index 6c7511d2b3..2fde17a0fd 100644
--- a/lib/ssl/src/tls_connection.erl
+++ b/lib/ssl/src/tls_connection.erl
@@ -118,6 +118,7 @@ start_link(Role, Sender, Host, Port, Socket, Options, User, CbInfo) ->
 
 init([Role, Sender, Host, Port, Socket, {SslOpts, _, _} = Options,  User, CbInfo]) ->
     process_flag(trap_exit, true),
+    link(Sender),
     case SslOpts#ssl_options.erl_dist of
         true ->
             process_flag(priority, max);
diff --git a/lib/ssl/src/tls_sender.erl b/lib/ssl/src/tls_sender.erl
index 007fd345dd..db67d7ddff 100644
--- a/lib/ssl/src/tls_sender.erl
+++ b/lib/ssl/src/tls_sender.erl
@@ -67,9 +67,9 @@
 %%  same process is sending and receiving 
 %%--------------------------------------------------------------------
 start() ->
-    gen_statem:start_link(?MODULE, [], []).
+    gen_statem:start(?MODULE, [], []).
 start(SpawnOpts) ->
-    gen_statem:start_link(?MODULE, [], SpawnOpts).
+    gen_statem:start(?MODULE, [], SpawnOpts).
 
 %%--------------------------------------------------------------------
 -spec initialize(pid(), map()) -> ok. 
-- 
cgit v1.2.3