diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | test/ruby/envutil.rb | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -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 |