diff --git a/ffserver.c b/ffserver.c index d1e66387df22ddf899713f692153553e58429786..94d315f9944d8c20f1e55e8faaf529585872fbee 100644 --- a/ffserver.c +++ b/ffserver.c @@ -407,43 +407,41 @@ static void start_children(FFServerStream *feed) if (!feed->child_argv || feed->pid) continue; - feed->pid_start = time(0); + feed->pid_start = time(0); - feed->pid = fork(); - - if (feed->pid < 0) { - http_log("Unable to create children\n"); - exit(1); - } - - if (feed->pid) - continue; + feed->pid = fork(); + if (feed->pid < 0) { + http_log("Unable to create children\n"); + exit(1); + } - /* In child */ + if (feed->pid) + continue; - http_log("Launch command line: "); - http_log("%s ", pathname); - for (i = 1; feed->child_argv[i] && feed->child_argv[i][0]; i++) - http_log("%s ", feed->child_argv[i]); - http_log("\n"); + /* In child */ - for (i = 3; i < 256; i++) - close(i); + http_log("Launch command line: "); + http_log("%s ", pathname); - if (!config.debug) { - 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;"); - } + for (i = 1; feed->child_argv[i] && feed->child_argv[i][0]; i++) + http_log("%s ", feed->child_argv[i]); + http_log("\n"); - signal(SIGPIPE, SIG_DFL); + for (i = 3; i < 256; i++) + close(i); - execvp(pathname, feed->child_argv); + if (!config.debug) { + 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;"); + } - _exit(1); + signal(SIGPIPE, SIG_DFL); + execvp(pathname, feed->child_argv); + _exit(1); } }