Recovery logic optimization.
[platform/core/connectivity/bluetooth-frwk.git] / bt-core / bt-core-adapter.c
index 00b9c5c..54264aa 100644 (file)
@@ -512,6 +512,13 @@ gboolean _bt_core_enable_adapter(void)
                return TRUE;
 }
 
+static gboolean __bt_core_terminate_cb(gpointer data)
+{
+       _bt_core_terminate();
+
+       return FALSE;
+}
+
 gboolean _bt_core_disable_adapter(void)
 {
        int ret;
@@ -520,6 +527,8 @@ gboolean _bt_core_disable_adapter(void)
        if (vconf_set_int(BT_OFF_DUE_TO_FLIGHT_MODE, 0) != 0)
                BT_ERR("Set vconf failed");
 
+       g_idle_add((GSourceFunc)__bt_core_terminate_cb, NULL);
+
        ret = _bt_disable_adapter();
        if (ret < 0)
                return FALSE;