summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-06-05 18:29:53 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-06-05 18:29:53 +0000
commite8453de50838532e3ff5ff59dbbdf109d76d08ef (patch)
treeafbf4153d6c0ba1f5e44e9cabbe81c130b338079
parentbf196a19c071ee1eec69c0f04b8edcffb7371e7e (diff)
parent35a18b50c5d056e0ec2074db73525535e586709b (diff)
Merge "Fix a lambda capture problem in TextDumpsysSection" into rvc-dev am: 35a18b50c5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11756603 Change-Id: I6f0734b5189b4a192e36a32760f5bad43fa409b2
-rw-r--r--cmds/incidentd/src/Section.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/cmds/incidentd/src/Section.cpp b/cmds/incidentd/src/Section.cpp
index 7fc999af6f78..e56ed39ea32e 100644
--- a/cmds/incidentd/src/Section.cpp
+++ b/cmds/incidentd/src/Section.cpp
@@ -476,14 +476,15 @@ status_t TextDumpsysSection::Execute(ReportWriter* writer) const {
// Run dumping thread
const uint64_t start = Nanotime();
- std::thread worker([&]() {
+ std::thread worker([write_fd = std::move(dumpPipe.writeFd()), service = std::move(service),
+ this]() mutable {
// Don't crash the service if writing to a closed pipe (may happen if dumping times out)
signal(SIGPIPE, sigpipe_handler);
- status_t err = service->dump(dumpPipe.writeFd().get(), mArgs);
+ status_t err = service->dump(write_fd.get(), this->mArgs);
if (err != OK) {
ALOGW("[%s] dump thread failed. Error: %s", this->name.string(), strerror(-err));
}
- dumpPipe.writeFd().reset();
+ write_fd.reset();
});
// Collect dump content