OSDN Git Service

Register atexit handler only when needed
authorMåns Rullgård <mans@mansr.com>
Fri, 19 Mar 2010 16:25:11 +0000 (16:25 +0000)
committerMåns Rullgård <mans@mansr.com>
Fri, 19 Mar 2010 16:25:11 +0000 (16:25 +0000)
Originally committed as revision 22599 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c

index 5a22dde..5e35022 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -318,14 +318,12 @@ typedef struct AVInputFile {
 
 /* init terminal so that we can grab keys */
 static struct termios oldtty;
-#endif
 
 static void term_exit(void)
 {
-#if HAVE_TERMIOS_H
     tcsetattr (0, TCSANOW, &oldtty);
-#endif
 }
+#endif
 
 static volatile int received_sigterm = 0;
 
@@ -343,6 +341,7 @@ static void term_init(void)
 
     tcgetattr (0, &tty);
     oldtty = tty;
+    atexit(term_exit);
 
     tty.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP
                           |INLCR|IGNCR|ICRNL|IXON);
@@ -363,10 +362,6 @@ static void term_init(void)
     signal(SIGXCPU, sigterm_handler);
 #endif
 
-    /*
-    register a function to be called at normal program termination
-    */
-    atexit(term_exit);
 #if CONFIG_BEOS_NETSERVER
     fcntl(0, F_SETFL, fcntl(0, F_GETFL) | O_NONBLOCK);
 #endif