ruby-changes:23272
From: naruse <ko1@a...>
Date: Sat, 14 Apr 2012 11:32:12 +0900 (JST)
Subject: [ruby-changes:23272] naruse:r35323 (trunk): * lib/webrick/server.rb (WEBrick::GenericServer#start):
naruse 2012-04-14 11:30:43 +0900 (Sat, 14 Apr 2012) New Revision: 35323 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35323 Log: * lib/webrick/server.rb (WEBrick::GenericServer#start): partially revert r35315. * test/webrick/test_server.rb (test_start_exception): received signal is delivered to the main thread, so it is needed to emulate it. patched by Eric Hodel. [ruby-core:44348] [Feature #6236] Modified files: trunk/ChangeLog trunk/lib/webrick/server.rb trunk/test/webrick/test_server.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 35322) +++ ChangeLog (revision 35323) @@ -1,3 +1,12 @@ +Sat Apr 14 10:45:18 2012 NARUSE, Yui <naruse@r...> + + * lib/webrick/server.rb (WEBrick::GenericServer#start): + partially revert r35315. + + * test/webrick/test_server.rb (test_start_exception): + received signal is delivered to the main thread, so it is needed to + emulate it. patched by Eric Hodel. [ruby-core:44348] [Feature #6236] + Sat Apr 14 09:35:45 2012 Eric Hodel <drbrain@s...> * variable.c (trace_ev): Removed "not reached" comment as this line is Index: lib/webrick/server.rb =================================================================== --- lib/webrick/server.rb (revision 35322) +++ lib/webrick/server.rb (revision 35323) @@ -133,12 +133,12 @@ rescue Errno::EBADF, IOError => ex # if the listening socket was closed in GenericServer#shutdown, # IO::select raise it. - rescue Interrupt => ex # ^C + rescue StandardError => ex + msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}" + @logger.error msg + rescue Exception => ex @logger.fatal ex raise - rescue Exception => ex - msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}" - @logger.error msg end end Index: test/webrick/test_server.rb =================================================================== --- test/webrick/test_server.rb (revision 35322) +++ test/webrick/test_server.rb (revision 35323) @@ -29,12 +29,12 @@ :StopCallback => Proc.new{ stopped += 1 }, } - e = assert_raises(Interrupt) do + e = assert_raises(SignalException) do TestWEBrick.start_server(Echo, config) { |server, addr, port, log| listener = server.listeners.first def listener.accept - Process.kill(:INT, $$) # simulate ^C + raise SignalException, 'SIGTERM' # simulate signal in main thread end Thread.pass while server.status != :Running -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/