From f38995ab1443d3ab0ce4b89acc3bf5cb9704ee1c Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 19 Oct 2011 07:29:41 +0200 Subject: [PATCH] fix stdin/sdout redirection --- data/PVE/Tools.pm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/data/PVE/Tools.pm b/data/PVE/Tools.pm index 4f85564..4c4e259 100644 --- a/data/PVE/Tools.pm +++ b/data/PVE/Tools.pm @@ -225,6 +225,15 @@ sub run_command { local $ENV{LVM_SUPPRESS_FD_WARNINGS} = "1"; $pid = open3($writer, $reader, $error, @$cmd) || die $!; + + # if we pipe fron STDIN, open3 closes STDIN, so we we + # a perl warning "Filehandle STDIN reopened as GENXYZ .. " + # as soon as we open a new file. + # to avoid that we open /dev/null + if (!ref($writer) && !defined(fileno(STDIN))) { + POSIX::close(0); + open(STDIN, "add($reader); + $select->add($reader) if ref($reader); $select->add($error); my $outlog = ''; -- 2.39.2