From deb0519aec1e68bdcf019d99e3e8be55fd5b2faf Mon Sep 17 00:00:00 2001 From: naruse Date: Fri, 13 Apr 2012 06:21:50 +0000 Subject: * lib/webrick/server.rb (WEBrick::GenericServer#stop): fix r35303; this method is to deny new connections, not shutdown yet. * lib/webrick/server.rb (WEBrick::GenericServer#start): re-raise exception only when the exception is Interrupt (^C). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/webrick/server.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'lib/webrick/server.rb') diff --git a/lib/webrick/server.rb b/lib/webrick/server.rb index 22b91ad535..bd9dcb0d1c 100644 --- a/lib/webrick/server.rb +++ b/lib/webrick/server.rb @@ -133,16 +133,17 @@ module WEBrick rescue Errno::EBADF, IOError => ex # if the listening socket was closed in GenericServer#shutdown, # IO::select raise it. - rescue StandardError => ex - msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}" - @logger.error msg - rescue Exception => ex + rescue Interrupt => ex # ^C @logger.fatal ex raise + rescue Exception => ex + msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}" + @logger.error msg end end ensure + @status = :Shutdown @logger.info "going to shutdown ..." thgroup.list.each{|th| th.join if th[:WEBrickThread] } call_callback(:StopCallback) @@ -157,7 +158,7 @@ module WEBrick def stop if @status == :Running - @status = :Stop + @status = :Shutdown end end -- cgit v1.2.3