From 6119f446b66c2eba0417f4ec7c6f87366fe5cfe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Font=C3=A1n=20Mui=C3=B1os?= Date: Mon, 9 Feb 2009 17:16:23 +0000 Subject: [PATCH] Close handles of open3 calls git-svn-id: http://svn.opennebula.org/one/trunk@344 3034c82b-c49b-4eb3-8279-a7acafdc01c0 --- src/mad/ruby/CommandManager.rb | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/mad/ruby/CommandManager.rb b/src/mad/ruby/CommandManager.rb index 1e18d6c7c4..d135217c50 100644 --- a/src/mad/ruby/CommandManager.rb +++ b/src/mad/ruby/CommandManager.rb @@ -56,7 +56,15 @@ private std=Open3.popen3( "#{command} ;"+ " echo ExitCode: $? 1>&2") - [std[1].read, std[2].read] + std[0].close if !std[0].closed? + + stdout=std[1].read + std[1].close if !std[1].closed? + + stderr=std[2].read + std[2].close if !std[2].closed? + + [stdout, stderr] end end @@ -78,8 +86,15 @@ private std=Open3.popen3( "ssh -n #{host} #{command} ;"+ " echo ExitCode: $? 1>&2") - std[0].close - [std[1].read, std[2].read] + std[0].close if !std[0].closed? + + stdout=std[1].read + std[1].close if !std[1].closed? + + stderr=std[2].read + std[2].close if !std[2].closed? + + [stdout, stderr] end end