aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-05-31 18:17:32 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-05-31 18:17:32 +0000
commit10529af986a31e21f068cb66db609381f44ecf61 (patch)
treeae33e49fbcdddb79e9ad8b950d5874eef1cc77de
parentaf2b89d23c3f1772691127e7501e868035879607 (diff)
parent9267178999f70047a05dc9fb50829f2d9927f940 (diff)
downloadbionic-nougat-mr1-flounder-release.tar.gz
Merge cherrypicks of [2337407, 2337461, 2337391, 2337257, 2337318, 2337340, 2337423, 2337481, 2337412, 2337521, 2337413, 2337426, 2337414, 2337415, 2337523, 2337502, 2337503, 2337524, 2337463, 2337483, 2337417, 2337427, 2337561, 2337464, 2337581, 2337484, 2337525, 2337526, 2337527, 2337394, 2337562, 2337528, 2337504, 2337563, 2337565, 2337584, 2337602, 2337530, 2337585, 2337532, 2337487, 2337396, 2337505, 2337432, 2337603, 2337604, 2337534, 2337536, 2337508, 2337606] into nyc-mr1-volantis-releaseandroid-7.1.1_r58android-7.1.1_r53android-7.1.1_r49android-7.1.1_r46nougat-mr1-volantis-releasenougat-mr1-flounder-release
Change-Id: I732369cfc9547a28b05119dbd6862c31f8a99a74
-rw-r--r--linker/linker.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 9dc928eb4..a043b859a 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -2246,6 +2246,9 @@ static void soinfo_unload(soinfo* soinfos[], size_t count) {
if (local_unload_list.contains(child)) {
continue;
} else if (child->is_linked() && child->get_local_group_root() != root) {
+ child->get_parents().remove_if([&] (const soinfo* parent) {
+ return parent == si;
+ });
external_unload_list.push_back(child);
} else {
unload_list.push_front(child);