From 7d3c65a6db5e267eb0a3f2503c9fa1264b559e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 10 Oct 2018 16:22:19 +0200 Subject: Fix a race condition on restart after listener_sup crash The race condition occurs when the restart is faster than the cleaning up. With this commit the restart will perform the cleanup if it was not done beforehand. --- test/acceptor_SUITE.erl | 22 ---------------------- 1 file changed, 22 deletions(-) (limited to 'test') diff --git a/test/acceptor_SUITE.erl b/test/acceptor_SUITE.erl index 7fd4df2..7deecbb 100644 --- a/test/acceptor_SUITE.erl +++ b/test/acceptor_SUITE.erl @@ -72,7 +72,6 @@ groups() -> connection_type_supervisor_separate_from_connection, supervisor_changed_options_restart, supervisor_clean_child_restart, - supervisor_clean_conns_sup_restart, supervisor_clean_restart, supervisor_conns_alive, supervisor_protocol_start_link_crash, @@ -1068,27 +1067,6 @@ do_supervisor_clean_child_restart(_) -> ok = clean_traces(), ok = ranch:stop_listener(Name). -supervisor_clean_conns_sup_restart(_) -> - doc("Verify that a conns_sup can not register with the same name as an already " - "registered ranch_conns_sup that is still alive. Make sure this does not crash " - "the ranch_server process."), - Name = name(), - {ok, _} = ranch:start_listener(Name, - ranch_tcp, #{}, - echo_protocol, []), - Server = erlang:whereis(ranch_server), - ServerMonRef = erlang:monitor(process, Server), - %% Exit because Name already registered and is alive. - {'EXIT', _} = (catch ranch_server:set_connections_sup(Name, self())), - receive - {'DOWN', ServerMonRef, process, Server, _} -> - error(ranch_server_down) - after - 1000 -> - ok - end, - ok = ranch:stop_listener(Name). - supervisor_clean_restart(Config) -> case code:is_module_native(?MODULE) of true -> doc("This test uses tracing and is not compatible with native code."); -- cgit v1.2.3