if (r != VCONF_OK) {
_E("Failed to register callback for hw acceleration. err = %d",
r);
+ __unregister_vconf_events();
+ return -1;
}
lang = vconf_get_str(VCONFKEY_LANGSET);
}
r = vconf_notify_key_changed(VCONFKEY_LANGSET, __update_lang, NULL);
- if (r != VCONF_OK)
+ if (r != VCONF_OK) {
_E("Failed to register callback for langset. err = %d", r);
+ __unregister_vconf_events();
+ return -1;
+ }
region = vconf_get_str(VCONFKEY_REGIONFORMAT);
if (region) {
r = vconf_notify_key_changed(VCONFKEY_REGIONFORMAT,
__region_format_changed_cb, NULL);
- if (r != VCONF_OK)
+ if (r != VCONF_OK) {
_E("Failed to register callback for regionformat. err = %d", r);
+ __unregister_vconf_events();
+ return -1;
+ }
type = CONFIG_TYPE_MEMORY_STATUS_LOW_KEY;
key = _config_get_string_value(type);
r = vconf_notify_key_changed(key,
__memory_status_low_changed_cb, NULL);
- if (r != 0)
+ if (r != 0) {
_E("Failed to register callback for low memory. err = %d", r);
+ __unregister_vconf_events();
+ return -1;
+ }
type = CONFIG_TYPE_MEMORY_STATUS_NORMAL_KEY;
key = _config_get_string_value(type);
r = vconf_notify_key_changed(key,
__memory_status_normal_changed_cb, NULL);
- if (r != 0)
+ if (r != 0) {
_E("Failed to register callback for normal memory. err = %d", r);
+ __unregister_vconf_events();
+ return -1;
+ }
return 0;
}
+static gboolean __vconf_init_cb(gpointer user_data)
+{
+ if (__register_vconf_events() != 0)
+ return G_SOURCE_CONTINUE;
+
+ return G_SOURCE_REMOVE;
+}
+
static bool __handle_logger(int fd, io_condition_e cond, void *data)
{
app_pkt_t *pkt;
if (ret < 0)
return ret;
- __register_vconf_events();
+ ret = __register_vconf_events();
+ if (ret != 0)
+ g_timeout_add(1000, __vconf_init_cb, NULL);
+
__init_app_defined_loader_monitor();
_memory_monitor_init();
_memory_monitor_set_event_cb(__memory_monitor_cb, NULL);