File 2981-Implement-mptcp-for-gen_tcp_socket-compatibility-mod.patch of Package erlang

From 94a2e933c619e467930b6b679be0c991b5f91ae2 Mon Sep 17 00:00:00 2001
From: Raimo Niskanen <raimo@erlang.org>
Date: Thu, 13 Nov 2025 17:11:20 +0100
Subject: [PATCH 1/4] Implement `mptcp` for `gen_tcp_socket` compatibility
 module

---
 lib/kernel/src/gen_tcp_socket.erl | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/lib/kernel/src/gen_tcp_socket.erl b/lib/kernel/src/gen_tcp_socket.erl
index fac8b37801..4bd303d9bd 100644
--- a/lib/kernel/src/gen_tcp_socket.erl
+++ b/lib/kernel/src/gen_tcp_socket.erl
@@ -1059,7 +1059,14 @@ split_open_opts([], OpenOpts, OtherOpts) ->
 split_open_opts([{debug, _} = Opt|Opts], OpenOpts, OtherOpts) ->
     split_open_opts(Opts, [Opt|OpenOpts], OtherOpts);
 split_open_opts([Opt|Opts], OpenOpts, OtherOpts) ->
-    split_open_opts(Opts, OpenOpts, [Opt|OtherOpts]).
+    case Opt of
+        {debug, _} ->
+            split_open_opts(Opts, [Opt|OpenOpts], OtherOpts);
+        {protocol, _} ->
+            split_open_opts(Opts, [Opt|OpenOpts], OtherOpts);
+        _ ->
+            split_open_opts(Opts, OpenOpts, [Opt|OtherOpts])
+    end.
 
 
 %%
@@ -1585,9 +1592,10 @@ socket_open(Domain, #{fd := FD} = ExtraOpts, Extra) ->
     %% ?DBG([{fd, FD}, {opts, Opts}]),
     socket:open(FD, Opts);
 socket_open(Domain, ExtraOpts, Extra) ->
+    Proto = maps:get(protocol, ExtraOpts, proto(Domain)),
     Opts = maps:merge(Extra, ExtraOpts),
     %% ?DBG([{domain, Domain}, {extra_opts, ExtraOpts}, {extra, Extra}]),
-    socket:open(Domain, stream, proto(Domain), Opts).
+    socket:open(Domain, stream, Proto, Opts).
 
 proto(Domain) ->
     case Domain of
-- 
2.51.0

openSUSE Build Service is sponsored by