Skip to content

Commit 294539d

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

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

core/jni/android_server_BluetoothEventLoop.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,7 @@ static void tearDownEventLoop(native_data_t *nat) {
486486
#define EVENT_LOOP_EXIT 1
487487
#define EVENT_LOOP_ADD 2
488488
#define EVENT_LOOP_REMOVE 3
489+
#define EVENT_LOOP_WAKEUP 4
489490

490491
dbus_bool_t dbusAddWatch(DBusWatch *watch, void *data) {
491492
native_data_t *nat = (native_data_t *)data;
@@ -530,6 +531,13 @@ void dbusToggleWatch(DBusWatch *watch, void *data) {
530531
}
531532
}
532533

534+
void dbusWakeup(void *data) {
535+
native_data_t *nat = (native_data_t *)data;
536+
537+
char control = EVENT_LOOP_WAKEUP;
538+
write(nat->controlFdW, &control, sizeof(char));
539+
}
540+
533541
static void handleWatchAdd(native_data_t *nat) {
534542
DBusWatch *watch;
535543
int newFD;
@@ -613,6 +621,7 @@ static void *eventLoopMain(void *ptr) {
613621

614622
dbus_connection_set_watch_functions(nat->conn, dbusAddWatch,
615623
dbusRemoveWatch, dbusToggleWatch, ptr, NULL);
624+
dbus_connection_set_wakeup_main_function(nat->conn, dbusWakeup, ptr, NULL);
616625

617626
nat->running = true;
618627

@@ -648,6 +657,11 @@ static void *eventLoopMain(void *ptr) {
648657
handleWatchRemove(nat);
649658
break;
650659
}
660+
case EVENT_LOOP_WAKEUP:
661+
{
662+
// noop
663+
break;
664+
}
651665
}
652666
}
653667
} else {

0 commit comments

Comments
 (0)