* 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
This commit is contained in:
parent
e95f7ea80d
commit
c26ea74ad6
@ -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>
|
Sat Apr 14 09:35:45 2012 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
* variable.c (trace_ev): Removed "not reached" comment as this line is
|
* variable.c (trace_ev): Removed "not reached" comment as this line is
|
||||||
|
@ -133,12 +133,12 @@ module WEBrick
|
|||||||
rescue Errno::EBADF, IOError => ex
|
rescue Errno::EBADF, IOError => ex
|
||||||
# if the listening socket was closed in GenericServer#shutdown,
|
# if the listening socket was closed in GenericServer#shutdown,
|
||||||
# IO::select raise it.
|
# IO::select raise it.
|
||||||
rescue Interrupt => ex # ^C
|
rescue StandardError => ex
|
||||||
@logger.fatal ex
|
|
||||||
raise
|
|
||||||
rescue Exception => ex
|
|
||||||
msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}"
|
msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}"
|
||||||
@logger.error msg
|
@logger.error msg
|
||||||
|
rescue Exception => ex
|
||||||
|
@logger.fatal ex
|
||||||
|
raise
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -29,12 +29,12 @@ class TestWEBrickServer < Test::Unit::TestCase
|
|||||||
:StopCallback => Proc.new{ stopped += 1 },
|
:StopCallback => Proc.new{ stopped += 1 },
|
||||||
}
|
}
|
||||||
|
|
||||||
e = assert_raises(Interrupt) do
|
e = assert_raises(SignalException) do
|
||||||
TestWEBrick.start_server(Echo, config) { |server, addr, port, log|
|
TestWEBrick.start_server(Echo, config) { |server, addr, port, log|
|
||||||
listener = server.listeners.first
|
listener = server.listeners.first
|
||||||
|
|
||||||
def listener.accept
|
def listener.accept
|
||||||
Process.kill(:INT, $$) # simulate ^C
|
raise SignalException, 'SIGTERM' # simulate signal in main thread
|
||||||
end
|
end
|
||||||
|
|
||||||
Thread.pass while server.status != :Running
|
Thread.pass while server.status != :Running
|
||||||
|
Loading…
x
Reference in New Issue
Block a user