File 3341-inet_tcp_dist-honour-backlog-NNN-setting-coming-from.patch of Package erlang

From 1d06f1337c3d9531ea3e9d5de92658d87853aeac Mon Sep 17 00:00:00 2001
From: Maxim Fedorov <maximfca@gmail.com>
Date: Sat, 9 May 2020 14:04:17 -0700
Subject: [PATCH] inet_tcp_dist: honour {backlog, NNN} setting coming from
 inet_dist_listen_options

Backlog of 128 was hardcoded into inet_tcp_dist, ignoring any setting coming
from inet_dist_listen_options. This change allows to configure backlog as
expected.
---
 lib/kernel/src/inet_tcp_dist.erl | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/kernel/src/inet_tcp_dist.erl b/lib/kernel/src/inet_tcp_dist.erl
index 8a67597928..244140c8fb 100644
--- a/lib/kernel/src/inet_tcp_dist.erl
+++ b/lib/kernel/src/inet_tcp_dist.erl
@@ -101,7 +101,7 @@ gen_listen(Driver, Name, Host) ->
     end.
 
 gen_listen(ErlEpmd, Name, Host, Driver, Options) ->
-    ListenOptions = listen_options([{backlog,128}|Options]),
+    ListenOptions = listen_options(Options),
     case call_epmd_function(ErlEpmd, listen_port_please, [Name, Host]) of
         {ok, 0} ->
             {First,Last} = get_port_range(),
@@ -143,7 +143,12 @@ listen_options(Opts0) ->
 	end,
     case application:get_env(kernel, inet_dist_listen_options) of
 	{ok,ListenOpts} ->
-	    ListenOpts ++ Opts1;
+	    case proplists:is_defined(backlog, ListenOpts) of
+		true ->
+		    ListenOpts ++ Opts1;
+		false ->
+		    ListenOpts ++ [{backlog, 128} | Opts1]
+	    end;
 	_ ->
 	    Opts1
     end.
-- 
2.26.2

openSUSE Build Service is sponsored by