From 9f16d373f3fcd1113f82f1f2b48c990c78113094 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 25 Jun 2010 00:57:03 +0000 Subject: [PATCH] * test/ruby/envutil.rb (EnvUtil#invoke_ruby): get rid of possible deadlock. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ test/ruby/envutil.rb | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 777b2471f5..f33df11774 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jun 25 09:56:39 2010 Nobuyoshi Nakada + + * test/ruby/envutil.rb (EnvUtil#invoke_ruby): get rid of possible + deadlock. + Fri Jun 25 06:24:25 2010 Nobuyoshi Nakada * lib/un.rb (httpd): MaxClients also should be integer. diff --git a/test/ruby/envutil.rb b/test/ruby/envutil.rb index 7e52a8ffd7..5a81daab33 100644 --- a/test/ruby/envutil.rb +++ b/test/ruby/envutil.rb @@ -88,10 +88,10 @@ module EnvUtil in_c.close out_c.close if capture_stdout err_c.close if capture_stderr - in_p.write stdin_data.to_str - in_p.close th_stdout = Thread.new { out_p.read } if capture_stdout th_stderr = Thread.new { err_p.read } if capture_stderr + in_p.write stdin_data.to_str + in_p.close if (!capture_stdout || th_stdout.join(10)) && (!capture_stderr || th_stderr.join(10)) stdout = th_stdout.value if capture_stdout stderr = th_stderr.value if capture_stderr