From e7e20e6343bd6b8c9b3100e66a612900ab94caff Mon Sep 17 00:00:00 2001 From: Claudio Takahasi Date: Fri, 9 Mar 2007 22:12:19 +0000 Subject: Network: main loop creation --- network/main.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/network/main.c b/network/main.c index e51c73aa..776ea517 100644 --- a/network/main.c +++ b/network/main.c @@ -26,15 +26,57 @@ #endif #include +#include +#include +#include #include +#include +#include + +#include "dbus.h" +#include "logging.h" #include "manager.h" +static GMainLoop *main_loop; + +static void sig_term(int sig) +{ + g_main_loop_quit(main_loop); +} + int main(int argc, char *argv[]) { + struct sigaction sa; + + start_logging("network", "Bluetooth Network daemon"); + + memset(&sa, 0, sizeof(sa)); + sa.sa_flags = SA_NOCLDSTOP; + sa.sa_handler = sig_term; + sigaction(SIGTERM, &sa, NULL); + sigaction(SIGINT, &sa, NULL); + + sa.sa_handler = SIG_IGN; + sigaction(SIGCHLD, &sa, NULL); + sigaction(SIGPIPE, &sa, NULL); + + enable_debug(); + + /* Create event loop */ + main_loop = g_main_loop_new(NULL, FALSE); + network_init(); + g_main_loop_run(main_loop); + network_exit(); + g_main_loop_unref(main_loop); + + info("Exit"); + + stop_logging(); + return 0; } -- cgit