void btstack_set_poweron(bool on) { if (!btstack_try_load()) return; if (on && !btstack_thread) pthread_create(&btstack_thread, 0, btstack_thread_func, 0); else if (!on && btstack_thread && btstack_quit_source) { CFRunLoopSourceSignal(btstack_quit_source); pthread_join(btstack_thread, 0); btstack_thread = 0; } }
static void btstack_set_poweron(bool on) { if (!btstack_try_load()) return; if (on && !btstack_thread) btstack_thread = sthread_create(btstack_thread_func, NULL); else if (!on && btstack_thread && btstack_quit_source) { #ifdef __APPLE__ CFRunLoopSourceSignal(btstack_quit_source); #endif sthread_join(btstack_thread); btstack_thread = NULL; } }
void btstack_set_poweron(bool on) { if (!btstack_try_load()) return; if (!btstack_open && bt_open_ptr()) { ios_add_log_message("BTstack: bt_open failed"); btstack_loaded = false; return; } btstack_open = true; if (on != btstack_poweron) { btstack_poweron = on; ios_add_log_message("BTstack: Turning %s", on ? "on" : "off"); bt_send_cmd_ptr(btstack_set_power_mode_ptr, on ? HCI_POWER_ON : HCI_POWER_OFF); } }