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

ruby-changes:25005

From: shirosaki <ko1@a...>
Date: Sat, 29 Sep 2012 20:19:38 +0900 (JST)
Subject: [ruby-changes:25005] shirosaki:r37057 (trunk): envutil.rb: kill child process when timeout

shirosaki	2012-09-29 20:19:11 +0900 (Sat, 29 Sep 2012)

  New Revision: 37057

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37057

  Log:
    envutil.rb: kill child process when timeout
    
    * test/ruby/envutil.rb (EnvUtil#invoke_ruby): kill child process
      before Timeout::Error is raised. rmdir of mktmpdir fails with
      EACCES if child process is alive on Windows.
    
    * test/thread/test_queue.rb (TestQueue): increase timeout.
      This test takes long time on Windows XP.

  Modified files:
    trunk/ChangeLog
    trunk/test/ruby/envutil.rb
    trunk/test/thread/test_queue.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37056)
+++ ChangeLog	(revision 37057)
@@ -1,3 +1,12 @@
+Sat Sep 29 19:41:53 2012  Hiroshi Shirosaki  <h.shirosaki@g...>
+
+	* test/ruby/envutil.rb (EnvUtil#invoke_ruby): kill child process
+	  before Timeout::Error is raised. rmdir of mktmpdir fails with
+	  EACCES if child process is alive on Windows.
+
+	* test/thread/test_queue.rb (TestQueue): increase timeout.
+	  This test takes long time on Windows XP.
+
 Sat Sep 29 19:41:33 2012  Hiroshi Shirosaki  <h.shirosaki@g...>
 
 	* test/net/http/test_http.rb (TestNetHTTP#test_proxy_address):
Index: test/ruby/envutil.rb
===================================================================
--- test/ruby/envutil.rb	(revision 37056)
+++ test/ruby/envutil.rb	(revision 37057)
@@ -65,6 +65,11 @@
         stdout = th_stdout.value if capture_stdout
         stderr = th_stderr.value if capture_stderr && capture_stderr != :merge_to_stdout
       else
+        signal = /mswin|mingw/ =~ RUBY_PLATFORM ? :KILL : :TERM
+        begin
+          Process.kill signal, pid
+        rescue Errno::ESRCH
+        end
         raise Timeout::Error
       end
       out_p.close if capture_stdout
Index: test/thread/test_queue.rb
===================================================================
--- test/thread/test_queue.rb	(revision 37056)
+++ test/thread/test_queue.rb	(revision 37057)
@@ -101,7 +101,7 @@
   def test_thr_kill
     bug5343 = '[ruby-core:39634]'
     Dir.mktmpdir {|d|
-      timeout = 20
+      timeout = 30
       total_count = 2000
       begin
         assert_normal_exit(<<-"_eom", bug5343, {:timeout => timeout, :chdir=>d})

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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