File 2066-kernel-esock-File-descriptor-is-an-integer-not-a-lis.patch of Package erlang
From 060227449257ba5f0b8d613785710166a3f9372e Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Mon, 6 Jul 2020 16:24:34 +0200
Subject: [PATCH 06/10] [kernel|esock] File descriptor is an integer not a list
When creating sockets (via calls to listen and connect),
one of the options is 'fd', which is an *integer* and
not a list.
OTP-16754
---
lib/kernel/src/gen_tcp_socket.erl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/kernel/src/gen_tcp_socket.erl b/lib/kernel/src/gen_tcp_socket.erl
index 82f81bdad5..63797419c8 100644
--- a/lib/kernel/src/gen_tcp_socket.erl
+++ b/lib/kernel/src/gen_tcp_socket.erl
@@ -129,7 +129,7 @@ connect_open(Addrs, Domain, ConnectOpts, Opts, Fd, Timer, BindAddr) ->
ExtraOpts =
if
Fd =:= -1 -> [];
- is_list(Fd) -> Fd
+ is_integer(Fd) -> [{fd, Fd}]
end,
{SocketOpts, StartOpts} = setopts_split(socket, Opts),
case
@@ -210,7 +210,7 @@ listen_open(Domain, ListenOpts, Opts, Fd, Backlog, BindAddr) ->
ExtraOpts =
if
Fd =:= -1 -> [];
- is_list(Fd) -> Fd
+ is_integer(Fd) -> [{fd, Fd}]
end,
{SocketOpts, StartOpts} = setopts_split(socket, Opts),
case
--
2.26.2