Some errno hackery needed since errno is not set for when popen fails due to out of memory; man popen.
Signed-off-by: Ganesh Ajjanagadde <gajjanaga...@gmail.com> --- ffserver.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ffserver.c b/ffserver.c index 51928f3..4cd5834 100644 --- a/ffserver.c +++ b/ffserver.c @@ -2072,6 +2072,8 @@ static void compute_status(HTTPContext *c) "ps -o \"%%cpu,cputime\" --no-headers %"PRId64"", (int64_t) stream->pid); + /* reset errno before trying popen */ + errno = 0; pid_stat = popen(ps_cmd, "r"); if (pid_stat) { char cpuperc[10]; @@ -2087,6 +2089,15 @@ static void compute_status(HTTPContext *c) "Unable to close pid stat '%s': %s\n", ps_cmd, av_err2str(AVERROR(errno))); } + else if (errno) + av_log(NULL, AV_LOG_WARNING, + "Unable to open pid stat '%s': %s\n", + ps_cmd, av_err2str(AVERROR(errno))); + else + av_log(NULL, AV_LOG_WARNING, + "Unable to open pid stat '%s': %s\n", + ps_cmd, av_err2str(AVERROR(ENOMEM))); + } #endif -- 2.7.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel