From 91e371802fd324168a4e486d8eb862e608a70d29 Mon Sep 17 00:00:00 2001 From: nagachika Date: Mon, 11 Mar 2013 15:57:50 +0000 Subject: merge revision(s) 39688: [Backport #8065] * test/thread/test_queue.rb (TestQueue#test_thr_kill): reduce iterations from 2000 to 250. When running on uniprocessor systems, every th.kill needs TIME_QUANTUM_USEC time (i.e. 100msec on posix systems). Because, "r.read 1" is 3 steps operations that 1) release GVL 2) read 3) acquire gvl and (1) invoke context switch to main thread. and then, main thread's th.kill resume (1), but not (2). Thus read interrupt need TIME_QUANTUM_USEC. Then maximum iteration is 30sec/100msec = 300. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 12 ++++++++++++ test/thread/test_queue.rb | 5 +++-- version.h | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index ac95221e0f..663e8b4c8e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +Tue Mar 12 00:56:19 2013 KOSAKI Motohiro + + * test/thread/test_queue.rb (TestQueue#test_thr_kill): reduce + iterations from 2000 to 250. When running on uniprocessor + systems, every th.kill needs TIME_QUANTUM_USEC time (i.e. + 100msec on posix systems). Because, "r.read 1" is 3 steps + operations that 1) release GVL 2) read 3) acquire gvl and + (1) invoke context switch to main thread. and then, main + thread's th.kill resume (1), but not (2). Thus read interrupt + need TIME_QUANTUM_USEC. Then maximum iteration is 30sec/100msec + = 300. + Tue Mar 12 00:53:34 2013 KOSAKI Motohiro * process.c (setup_communication_pipe): remove unused function. diff --git a/test/thread/test_queue.rb b/test/thread/test_queue.rb index ec743772f8..993514f86d 100644 --- a/test/thread/test_queue.rb +++ b/test/thread/test_queue.rb @@ -85,7 +85,7 @@ class TestQueue < Test::Unit::TestCase bug5343 = '[ruby-core:39634]' Dir.mktmpdir {|d| timeout = 30 - total_count = 2000 + total_count = 250 begin assert_normal_exit(<<-"_eom", bug5343, {:timeout => timeout, :chdir=>d}) require "thread" @@ -98,7 +98,8 @@ class TestQueue < Test::Unit::TestCase r.read 1 } queue.pop - th.kill.join + th.kill + th.join end _eom rescue Timeout::Error diff --git a/version.h b/version.h index 2e3dcdce56..51089e9fda 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.0.0" #define RUBY_RELEASE_DATE "2013-03-12" -#define RUBY_PATCHLEVEL 56 +#define RUBY_PATCHLEVEL 57 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 3 -- cgit v1.2.3