Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
0101-kernel-gen-tcp-socket-test-Adjusted-the-se...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0101-kernel-gen-tcp-socket-test-Adjusted-the-several-acce.patch of Package erlang
From cc4bbf6e578a3fb178ee4e92a8b66679a1bb3e3e Mon Sep 17 00:00:00 2001 From: Micael Karlberg <bmk@erlang.org> Date: Wed, 24 Mar 2021 14:49:28 +0100 Subject: [PATCH 1/3] [kernel|gen-tcp-socket|test] Adjusted the 'several accepts in one go' test case Use explicit backlog = 8 when creating the listen socket to avoid acceptor race condition. OTP-17156 --- lib/kernel/test/gen_tcp_misc_SUITE.erl | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/kernel/test/gen_tcp_misc_SUITE.erl b/lib/kernel/test/gen_tcp_misc_SUITE.erl index cb4a7aa995..422e5d57f0 100644 --- a/lib/kernel/test/gen_tcp_misc_SUITE.erl +++ b/lib/kernel/test/gen_tcp_misc_SUITE.erl @@ -4397,7 +4397,8 @@ several_accepts_in_one_go(Config) when is_list(Config) -> do_several_accepts_in_one_go(Config) -> ?P("create listen socket"), - LS = case ?LISTEN(Config, 0,[]) of + NumActors = 8, + LS = case ?LISTEN(Config, 0, [{backlog, NumActors}]) of {ok, LSock} -> LSock; {error, eaddrnotavail = Reason} -> @@ -4405,13 +4406,15 @@ do_several_accepts_in_one_go(Config) -> end, Parent = self(), {ok, PortNo} = inet:port(LS), - F1 = fun() -> ?P("acceptor starting"), - Parent ! {accepted,self(),gen_tcp:accept(LS)} + F1 = fun() -> + ?P("acceptor starting"), + Parent ! {accepted,self(),gen_tcp:accept(LS)} end, - F2 = fun() -> ?P("connector starting"), - Parent ! {connected,self(),?CONNECT(Config, "localhost",PortNo,[])} + F2 = fun() -> + ?P("connector starting"), + Parent ! {connected,self(),?CONNECT(Config, "localhost",PortNo,[])} end, - Ns = lists:seq(1,8), + Ns = lists:seq(1, NumActors), ?P("start acceptors"), _ = [spawn(F1) || _ <- Ns], ?P("await accept timeouts"), @@ -4419,7 +4422,7 @@ do_several_accepts_in_one_go(Config) -> ?P("start connectors"), _ = [spawn(F2) || _ <- Ns], ?P("await accepts"), - ok = ?EXPECT_ACCEPTS([{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}}],8,15000), + ok = ?EXPECT_ACCEPTS([{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}}],NumActors,15000), ?P("await connects"), ok = ?EXPECT_CONNECTS([{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}},{_,{ok,_}}],1000), ?P("done"), -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor