Skip to content

Commit 3e94134

Browse files
Jaikumar GaneshAndroid Git Automerger
authored andcommitted
am 6f6b21b: am 4733d3a: Merge "Bluetooth event loop dispatches dbus data on wakeup"
* commit '6f6b21b407a8883b92b3de9e028e4dc1550b9648': Bluetooth event loop dispatches dbus data on wakeup
2 parents 5dcda1f + 6f6b21b commit 3e94134

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

core/jni/android_server_BluetoothEventLoop.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,7 @@ static void tearDownEventLoop(native_data_t *nat) {
428428
#define EVENT_LOOP_EXIT 1
429429
#define EVENT_LOOP_ADD 2
430430
#define EVENT_LOOP_REMOVE 3
431+
#define EVENT_LOOP_WAKEUP 4
431432

432433
dbus_bool_t dbusAddWatch(DBusWatch *watch, void *data) {
433434
native_data_t *nat = (native_data_t *)data;
@@ -472,6 +473,13 @@ void dbusToggleWatch(DBusWatch *watch, void *data) {
472473
}
473474
}
474475

476+
void dbusWakeup(void *data) {
477+
native_data_t *nat = (native_data_t *)data;
478+
479+
char control = EVENT_LOOP_WAKEUP;
480+
write(nat->controlFdW, &control, sizeof(char));
481+
}
482+
475483
static void handleWatchAdd(native_data_t *nat) {
476484
DBusWatch *watch;
477485
int newFD;
@@ -555,6 +563,7 @@ static void *eventLoopMain(void *ptr) {
555563

556564
dbus_connection_set_watch_functions(nat->conn, dbusAddWatch,
557565
dbusRemoveWatch, dbusToggleWatch, ptr, NULL);
566+
dbus_connection_set_wakeup_main_function(nat->conn, dbusWakeup, ptr, NULL);
558567

559568
nat->running = true;
560569

@@ -590,6 +599,11 @@ static void *eventLoopMain(void *ptr) {
590599
handleWatchRemove(nat);
591600
break;
592601
}
602+
case EVENT_LOOP_WAKEUP:
603+
{
604+
// noop
605+
break;
606+
}
593607
}
594608
}
595609
} else {

0 commit comments

Comments
 (0)