summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/ruby/envutil.rb4
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 <nobu@ruby-lang.org>
+
+ * test/ruby/envutil.rb (EnvUtil#invoke_ruby): get rid of possible
+ deadlock.
+
Fri Jun 25 06:24:25 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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