diff options
Diffstat (limited to 'ffserver.c')
-rw-r--r-- | ffserver.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/ffserver.c b/ffserver.c index b9b6d9661e..5082a4cd26 100644 --- a/ffserver.c +++ b/ffserver.c @@ -3771,24 +3771,24 @@ static void compute_bandwidth(void) static void handle_child_exit(int sig) { pid_t pid; - int status; + int status, uptime; while ((pid = waitpid(-1, &status, WNOHANG)) > 0) { FFServerStream *feed; for (feed = config.first_feed; feed; feed = feed->next) { - if (feed->pid == pid) { - int uptime = time(0) - feed->pid_start; + if (feed->pid != pid) + continue; - feed->pid = 0; - fprintf(stderr, - "%s: Pid %d exited with status %d after %d seconds\n", - feed->filename, pid, status, uptime); + uptime = time(0) - feed->pid_start; + feed->pid = 0; + fprintf(stderr, + "%s: Pid %d exited with status %d after %d seconds\n", + feed->filename, pid, status, uptime); - if (uptime < 30) - /* Turn off any more restarts */ - ffserver_free_child_args(&feed->child_argv); - } + if (uptime < 30) + /* Turn off any more restarts */ + ffserver_free_child_args(&feed->child_argv); } } |