From 7029875b20fa7f231b8145442b46a1f31cd89809 Mon Sep 17 00:00:00 2001 From: nagachika Date: Sat, 20 Jul 2013 14:52:28 +0000 Subject: merge revision(s) 40232: [Backport #8251] * test/drb/drbtest.rb (Drb{Core,Ary}#teardown): retry Process.kill if it fails with Errno::EPERM on Windows (workaround). [ruby-dev:47245] [Bug #8251] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ test/drb/drbtest.rb | 26 ++++++++++++++++++++------ version.h | 2 +- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 11ddb26523..111721eb26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Jul 20 23:49:33 2013 NAKAMURA Usaku + + * test/drb/drbtest.rb (Drb{Core,Ary}#teardown): retry Process.kill + if it fails with Errno::EPERM on Windows (workaround). + [ruby-dev:47245] [Bug #8251] + Sat Jul 20 23:31:11 2013 Aman Gupta * iseq.c (iseq_location_setup): re-use existing string when iseq has diff --git a/test/drb/drbtest.rb b/test/drb/drbtest.rb index ac0f5c6be9..6de85cee82 100644 --- a/test/drb/drbtest.rb +++ b/test/drb/drbtest.rb @@ -79,9 +79,16 @@ module DRbCore signal = /mswin|mingw/ =~ RUBY_PLATFORM ? :KILL : :TERM Thread.list.each {|th| if th.respond_to?(:pid) && th[:drb_service] == @service_name - begin - Process.kill signal, th.pid - rescue Errno::ESRCH + 10.times do + begin + Process.kill signal, th.pid + break + rescue Errno::ESRCH + break + rescue Errno::EPERM # on Windows + sleep 0.1 + retry + end end th.join end @@ -300,9 +307,16 @@ module DRbAry signal = /mswin|mingw/ =~ RUBY_PLATFORM ? :KILL : :TERM Thread.list.each {|th| if th.respond_to?(:pid) && th[:drb_service] == @service_name - begin - Process.kill signal, th.pid - rescue Errno::ESRCH + 10.times do + begin + Process.kill signal, th.pid + break + rescue Errno::ESRCH + break + rescue Errno::EPERM # on Windows + sleep 0.1 + retry + end end th.join end diff --git a/version.h b/version.h index e81d7995e9..8a52c8cbb8 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.0.0" #define RUBY_RELEASE_DATE "2013-07-20" -#define RUBY_PATCHLEVEL 272 +#define RUBY_PATCHLEVEL 273 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 7 -- cgit v1.2.3