From da21895e937f4f0ae9603f80db7daa1155cf8cf4 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Mon, 16 Aug 2010 14:51:20 +0200 Subject: Implemented POSIX signal handler. --- main.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index bcf52d8..90eaf85 100644 --- a/main.c +++ b/main.c @@ -4,6 +4,15 @@ #include #include +#include + +GMainLoop *main_loop; + +static void sig_handler(int sig) { + g_debug("caught signal %d", sig); + g_main_loop_quit(main_loop); +} + int main(int argc, char **argv) { g_type_init(); @@ -12,8 +21,14 @@ int main(int argc, char **argv) { httpd_start(); - GMainLoop *main_loop = g_main_loop_new(NULL, FALSE); + signal(SIGINT, sig_handler); + + main_loop = g_main_loop_new(NULL, FALSE); g_main_loop_run(main_loop); + while(g_main_loop_is_running(main_loop) == TRUE) { + g_debug("main loop still running"); + } + g_main_loop_unref(main_loop); httpd_stop(); music_free(); -- cgit v1.2.3