[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]