File 1056-ssh-start-monitor-ConnPid-before-casting-socket_cont.patch of Package erlang
From 211ce03aeb85b3fa14fbda8dd7a971ce0091d371 Mon Sep 17 00:00:00 2001
From: jakob svenningsson <jsvennin@cisco.com>
Date: Tue, 26 Mar 2024 13:56:21 +0100
Subject: [PATCH] ssh: start monitor ConnPid before casting socket_control
---
lib/ssh/src/ssh_connection_handler.erl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/ssh/src/ssh_connection_handler.erl b/lib/ssh/src/ssh_connection_handler.erl
index d39ca05ea2..12db85d015 100644
--- a/lib/ssh/src/ssh_connection_handler.erl
+++ b/lib/ssh/src/ssh_connection_handler.erl
@@ -129,12 +129,13 @@ takeover(ConnPid, _, Socket, Options) ->
{_, Callback, _} = ?GET_OPT(transport, Options),
case Callback:controlling_process(Socket, ConnPid) of
ok ->
+ Ref = erlang:monitor(process, ConnPid),
gen_statem:cast(ConnPid, socket_control),
NegTimeout = ?GET_INTERNAL_OPT(negotiation_timeout,
Options,
?GET_OPT(negotiation_timeout, Options)
),
- handshake(ConnPid, erlang:monitor(process,ConnPid), NegTimeout);
+ handshake(ConnPid, Ref, NegTimeout);
{error, Reason} ->
{error, Reason}
end.
--
2.35.3