diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-14 02:30:43 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-14 02:30:43 +0000 |
commit | c26ea74ad670be16cab2f38ec557d1d0505e5d39 (patch) | |
tree | b4e4dfd532904e002c3dd4e3538e2d8cd53e902f | |
parent | e95f7ea80d096cf27ea0ae5f7dc712ad72e71f3c (diff) | |
download | ruby-c26ea74ad670be16cab2f38ec557d1d0505e5d39.tar.gz |
* 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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | lib/webrick/server.rb | 8 | ||||
-rw-r--r-- | test/webrick/test_server.rb | 4 |
3 files changed, 15 insertions, 6 deletions
@@ -1,3 +1,12 @@ +Sat Apr 14 10:45:18 2012 NARUSE, Yui <naruse@ruby-lang.org> + + * 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@segment7.net> * variable.c (trace_ev): Removed "not reached" comment as this line is diff --git a/lib/webrick/server.rb b/lib/webrick/server.rb index bd9dcb0d1c..2eabf5d55c 100644 --- a/lib/webrick/server.rb +++ b/lib/webrick/server.rb @@ -133,12 +133,12 @@ module WEBrick rescue Errno::EBADF, IOError => ex # if the listening socket was closed in GenericServer#shutdown, # IO::select raise it. - rescue Interrupt => ex # ^C - @logger.fatal ex - raise - rescue Exception => ex + rescue StandardError => ex msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}" @logger.error msg + rescue Exception => ex + @logger.fatal ex + raise end end diff --git a/test/webrick/test_server.rb b/test/webrick/test_server.rb index 86fccac09c..eb13994db7 100644 --- a/test/webrick/test_server.rb +++ b/test/webrick/test_server.rb @@ -29,12 +29,12 @@ class TestWEBrickServer < Test::Unit::TestCase :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 |