[FFmpeg-cvslog] avserver: use freopen to redirect stdin/out/err to /dev/null

Janne Grunau git at videolan.org
Fri Nov 16 13:16:23 CET 2012


ffmpeg | branch: master | Janne Grunau <janne-libav at jannau.net> | Thu Oct 25 14:54:48 2012 +0200| [a4cd2ad89aa67533ff69de49612c747825c3f96f] | committer: Janne Grunau

avserver: use freopen to redirect stdin/out/err to /dev/null

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a4cd2ad89aa67533ff69de49612c747825c3f96f
---

 avserver.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/avserver.c b/avserver.c
index 649cbed..9f6b9d9 100644
--- a/avserver.c
+++ b/avserver.c
@@ -25,6 +25,7 @@
 #endif
 #include <string.h>
 #include <stdlib.h>
+#include <stdio.h>
 #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);



More information about the ffmpeg-cvslog mailing list