diff options
Diffstat (limited to 'src/Daemon/Daemon.cpp')
-rw-r--r-- | src/Daemon/Daemon.cpp | 58 |
1 files changed, 22 insertions, 36 deletions
diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp index 5133902d..ab656d2f 100644 --- a/src/Daemon/Daemon.cpp +++ b/src/Daemon/Daemon.cpp @@ -21,18 +21,19 @@ #include <iostream> #include <cstdio> -CCrashWatcher *ccdaemon; -DBus::Glib::BusDispatcher *dispatcher; +CCrashWatcher *g_pCrashWatcher; +//DBus::Glib::BusDispatcher *dispatcher; void terminate(int signal) { fprintf(stderr, "Got SIGINT/SIGTERM, cleaning up..\n"); - delete ccdaemon; + delete g_pCrashWatcher; //delete dispatcher; exit(0); } -int main(int argc, char** argv){ +int main(int argc, char** argv) +{ int daemonize = 1; /*signal handlers */ signal(SIGTERM, terminate); @@ -44,44 +45,29 @@ int main(int argc, char** argv){ DBus::default_dispatcher = dispatcher; DBus::Connection conn = DBus::Connection::SystemBus(); */ - try{ - ccdaemon = new CCrashWatcher(DEBUG_DUMPS_DIR); - if (argc > 1){ - if (strcmp(argv[1], "-d") == 0){ - daemonize = 0; - } - } - if(daemonize){ - try{ - ccdaemon->Daemonize(); - } - catch(std::string err) + try + { + g_pCrashWatcher = new CCrashWatcher(DEBUG_DUMPS_DIR); + + if (argc > 1) + { + if (strcmp(argv[1], "-d") == 0) { - std::cerr << err << std::endl; - } - catch(...){ - std::cerr << "daemon.cpp:Daemonize" << std::endl; + daemonize = 0; } } - else{ - try{ - #ifdef DEBUG - std::cerr << "trying to run" << std::endl; - #endif /*DEBUG*/ - ccdaemon->Run(); - } - catch(std::string err) - { - std::cerr << err << std::endl; - } - catch(...){ - std::cerr << "daemon.cpp:Run" << std::endl; - } + if(daemonize) + { + g_pCrashWatcher->Daemonize(); + } + else + { + g_pCrashWatcher->Run(); } } - catch(std::string err) + catch(std::exception& e) { - std::cerr << "Cannot create daemon: " << err << std::endl; + std::cerr << "Cannot create daemon: " << e.what() << std::endl; } } |