From a4cd2ad89aa67533ff69de49612c747825c3f96f Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Thu, 25 Oct 2012 14:54:48 +0200 Subject: [PATCH] avserver: use freopen to redirect stdin/out/err to /dev/null --- avserver.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/avserver.c b/avserver.c index 649cbedbab..9f6b9d9405 100644 --- a/avserver.c +++ b/avserver.c @@ -25,6 +25,7 @@ #endif #include #include +#include #include "libavformat/avformat.h" // FIXME those are internal headers, avserver _really_ shouldn't use them #include "libavformat/ffm.h" @@ -513,13 +514,12 @@ static void start_children(FFStream *feed) close(i); if (!avserver_debug) { - i = open("/dev/null", O_RDWR); - if (i != -1) { - dup2(i, 0); - dup2(i, 1); - dup2(i, 2); - close(i); - } + if (!freopen("/dev/null", "r", stdin)) + http_log("failed to redirect STDIN to /dev/null\n;"); + if (!freopen("/dev/null", "w", stdout)) + http_log("failed to redirect STDOUT to /dev/null\n;"); + if (!freopen("/dev/null", "w", stderr)) + http_log("failed to redirect STDERR to /dev/null\n;"); } signal(SIGPIPE, SIG_DFL);