daemon: jmcore proxy initialization and improved error handling in main()

This commit is contained in:
Nedko Arnaudov 2010-04-11 17:18:48 +03:00
parent 31f6cb939b
commit e0756fe0ee
2 changed files with 17 additions and 2 deletions

View File

@ -42,6 +42,7 @@
#include "../catdup.h"
#include "dirhelpers.h"
#include "../proxies/a2j_proxy.h"
#include "../proxies/jmcore_proxy.h"
bool g_quit;
const char * g_dbus_unique_name;
@ -292,11 +293,19 @@ int main(int argc, char ** argv, char ** envp)
/* setup our SIGSEGV magic that prints nice stack in our logfile */
setup_sigsegv();
a2j_proxy_init();
if (!a2j_proxy_init())
{
goto uninit_dbus;
}
if (!jmcore_proxy_init())
{
goto uninit_a2j;
}
if (!studio_init())
{
goto uninit_dbus;
goto uninit_jmcore;
}
while (!g_quit)
@ -314,6 +323,10 @@ int main(int argc, char ** argv, char ** envp)
studio_uninit();
uninit_jmcore:
jmcore_proxy_uninit();
uninit_a2j:
a2j_proxy_uninit();
uninit_dbus:

View File

@ -47,6 +47,8 @@ bool jmcore_proxy_init(void)
void jmcore_proxy_uninit(void)
{
dbus_unregister_object_signal_hooks(g_dbus_connection, JMCORE_SERVICE_NAME, JMCORE_OBJECT_PATH, JMCORE_IFACE);
dbus_unregister_service_lifetime_hook(g_dbus_connection, JMCORE_SERVICE_NAME);
}
const int64_t jmcore_proxy_get_pid_cached(void)