[FFmpeg-cvslog] ffmpeg: try to avoid calling av_log() from sigterm_handler()

Michael Niedermayer git at videolan.org
Thu Mar 20 16:34:36 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Mar 20 15:39:45 2014 +0100| [d3ed8a4d2b10e3237483da3dc72428b09992914d] | committer: Michael Niedermayer

ffmpeg: try to avoid calling av_log() from sigterm_handler()

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 ffmpeg.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index e345e41..e66cf2e 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -303,15 +303,20 @@ static void sub2video_flush(InputStream *ist)
 
 /* end of sub2video hack */
 
-void term_exit(void)
+static void term_exit_sigsafe(void)
 {
-    av_log(NULL, AV_LOG_QUIET, "%s", "");
 #if HAVE_TERMIOS_H
     if(restore_tty)
         tcsetattr (0, TCSANOW, &oldtty);
 #endif
 }
 
+void term_exit(void)
+{
+    av_log(NULL, AV_LOG_QUIET, "%s", "");
+    term_exit_sigsafe();
+}
+
 static volatile int received_sigterm = 0;
 static volatile int received_nb_signals = 0;
 static int main_return_code = 0;
@@ -321,7 +326,7 @@ sigterm_handler(int sig)
 {
     received_sigterm = sig;
     received_nb_signals++;
-    term_exit();
+    term_exit_sigsafe();
     if(received_nb_signals > 3)
         exit_program(123);
 }



More information about the ffmpeg-cvslog mailing list