goto err;
r = aul_launch_argv_handler(argc, argv);
- if (r < 0)
+ if (r < 0) {
+ aul_finalize();
goto err;
+ }
core.ops = ops;
core.state = 1; /* TODO: use enum value */
if (r < 0) {
if (agent->ops && agent->ops->terminate)
agent->ops->terminate(agent->ops->data);
+ aul_finalize();
ecore_shutdown();
errno = ECANCELED;
return -1;
priv.state = AGS_DYING;
if (agent->ops && agent->ops->terminate)
agent->ops->terminate(agent->ops->data);
+ aul_finalize();
ecore_shutdown();
}
EXPORT_API int appcore_agent_terminate()
{
__del_vconf_list();
- aul_finalize();
+ aul_status_update(STATUS_DYING);
ecore_main_loop_thread_safe_call_sync((Ecore_Data_Cb)__exit_loop, NULL);
return 0;
{
__del_vconf_list();
aul_status_update(STATUS_NORESTART);
+ aul_status_update(STATUS_DYING);
ecore_main_loop_thread_safe_call_sync((Ecore_Data_Cb)__exit_loop, NULL);
return 0;