Merge changes I1118f2e2,I6c039b32 into rvc-dev

* changes:
  adb: only submit USB writes on the worker thread.
  adbd: don't use libc++_static.
This commit is contained in:
TreeHugger Robot 2020-05-27 05:15:55 +00:00 committed by Android (Google) Code Review
commit d4c8a20d4b
2 changed files with 11 additions and 4 deletions

View file

@ -567,7 +567,6 @@ cc_library {
cc_binary {
name: "adbd",
defaults: ["adbd_defaults", "host_adbd_supported", "libadbd_binary_dependencies"],
stl: "libc++_static",
recovery_available: true,
apex_available: ["com.android.adbd"],

View file

@ -231,7 +231,14 @@ struct UsbFfsConnection : public Connection {
offset += write_size;
}
}
SubmitWrites();
// Wake up the worker thread to submit writes.
uint64_t notify = 1;
ssize_t rc = adb_write(worker_event_fd_.get(), &notify, sizeof(notify));
if (rc < 0) {
PLOG(FATAL) << "failed to notify worker eventfd to submit writes";
}
return true;
}
@ -443,6 +450,9 @@ struct UsbFfsConnection : public Connection {
}
ReadEvents();
std::lock_guard<std::mutex> lock(write_mutex_);
SubmitWrites();
}
});
}
@ -626,8 +636,6 @@ struct UsbFfsConnection : public Connection {
write_requests_.erase(it);
size_t outstanding_writes = --writes_submitted_;
LOG(DEBUG) << "USB write: reaped, down to " << outstanding_writes;
SubmitWrites();
}
IoWriteBlock CreateWriteBlock(std::shared_ptr<Block> payload, size_t offset, size_t len,