From dbd6cbc500e7ec9e86ce00d04119ddd4b440c36e Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sun, 11 Mar 2012 13:48:03 +0100 Subject: [PATCH] Added closing of file descriptors to piped process starter (gets rid of ffmpeg junk output), added some extra debugging output to DDV Controller. --- util/util.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/util/util.cpp b/util/util.cpp index d599c0d0..773248f7 100644 --- a/util/util.cpp +++ b/util/util.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -147,11 +148,14 @@ pid_t Util::Procs::Start(std::string name, std::string cmd, std::string cmd2){ return 0; } + int devnull = open("/dev/null", O_RDWR); pid_t ret = fork(); if (ret == 0){ close(pfildes[0]); - dup2(pfildes[1],1); + dup2(pfildes[1],STDOUT_FILENO); close(pfildes[1]); + dup2(devnull, STDIN_FILENO); + dup2(devnull, STDERR_FILENO); runCmd(cmd); }else{ if (ret > 0){ @@ -165,12 +169,14 @@ pid_t Util::Procs::Start(std::string name, std::string cmd, std::string cmd2){ return 0; } } - + pid_t ret2 = fork(); if (ret2 == 0){ close(pfildes[1]); - dup2(pfildes[0],0); + dup2(pfildes[0],STDIN_FILENO); close(pfildes[0]); + dup2(devnull, STDOUT_FILENO); + dup2(devnull, STDERR_FILENO); runCmd(cmd2); }else{ if (ret2 > 0){