diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -2,6 +2,9 @@ #include "clock.h" #include "logger.h" #include "system.h" +#include "signal.h" + +static void _term_sighandler( int sig ); int main(int argc, char *argv[]) @@ -9,6 +12,10 @@ int main(int argc, char *argv[]) Size fps, FPS; long timeOld, time; + if( e33_set_signal( SIGHUP, _term_sighandler ) == -1 ) { logw( "SIGHUP not handled"); } + if( e33_set_signal( SIGINT, _term_sighandler ) == -1 ) { logw( "SIGINT not handled"); } + if( e33_set_signal( SIGTERM, _term_sighandler ) == -1 ) { logw( "SIGTERM not handled"); } + timeOld = clock_get_us(); time = 0; fps = 0; @@ -52,3 +59,12 @@ int main(int argc, char *argv[]) return EXIT_SUCCESS; } + + +static void _term_sighandler( int sig ) +{ + display_term(); + logger_term(); + exit(0); +} + |