diff --git a/test/webrick/test_server.rb b/test/webrick/test_server.rb index abe1ecca39..aa40a72b0c 100644 --- a/test/webrick/test_server.rb +++ b/test/webrick/test_server.rb @@ -162,26 +162,15 @@ class TestWEBrickServer < Test::Unit::TestCase end def test_shutdown_pipe - loop_count = 0 - server_threads = [] - loop do - loop_count += 1 - break if loop_count == 11 - - pipe = IO.pipe - server = WEBrick::GenericServer.new( - :ShutdownPipe => pipe, - :BindAddress => '0.0.0.0', - :Port => 0, - :Logger => WEBrick::Log.new([], WEBrick::BasicLog::WARN)) - server_threads << Thread.start { server.start } - sleep 0.1 until server.status == :Running || !server_threads.last.status - if server_threads.last.status - pipe.last.puts('') - break - end - end - assert_join_threads(server_threads) + pipe = IO.pipe + server = WEBrick::GenericServer.new( + :ShutdownPipe => pipe, + :BindAddress => '0.0.0.0', + :Port => 0, + :Logger => WEBrick::Log.new([], WEBrick::BasicLog::WARN)) + server_thread = Thread.start { server.start } + pipe.last.puts('') + assert_join_threads([server_thread]) end def test_port_numbers