- vconf_ignore_key_changed should be called without a connection
initialization, if connection is closed and not restored immediately.
This situation causes SIGABRT on the client.
To prevent this, add _open/_close in vconf_ignore_key_changed.
- Increase _refcnt in restoring vconf notify callback.
Change-Id: Ief92dd08760b155e2e0ef61b4287decd22e240dd
Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
LOGE("vconf_notify_key_changed: key '%s' add notify error %d",
key, errno);
g_hash_table_remove(noti_tbl, key);
+ } else {
+ _refcnt++;
}
}
}
pthread_mutex_lock(&vconf_lock);
+ r = _open();
+ if (r == -1) {
+ pthread_mutex_unlock(&vconf_lock);
+ return -1;
+ }
+
noti = g_hash_table_lookup(noti_tbl, key);
if (!noti) {
pthread_mutex_unlock(&vconf_lock);
key, notify_cb);
if (r == -1)
LOGE("unregister error '%s' %d", noti->key, errno);
+ else
+ _close();
noti = g_hash_table_lookup(noti_tbl, key);
if (noti)