summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-04-14 02:30:43 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-04-14 02:30:43 +0000
commitc26ea74ad670be16cab2f38ec557d1d0505e5d39 (patch)
treeb4e4dfd532904e002c3dd4e3538e2d8cd53e902f
parente95f7ea80d096cf27ea0ae5f7dc712ad72e71f3c (diff)
* 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--ChangeLog9
-rw-r--r--lib/webrick/server.rb8
-rw-r--r--test/webrick/test_server.rb4
3 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 29cdac877d..fd8829eb36 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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