aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-07-11 22:41:43 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-07-11 22:41:43 +0000
commit66b8d2ac168043e962994141f6ebe44a1fb39527 (patch)
treeae33e49fbcdddb79e9ad8b950d5874eef1cc77de
parente04608196aae9d4afbc08294d01a419cca312e6a (diff)
parent3ee66f3b920b162c357a7a4a2c2d4ef0e9e89a09 (diff)
downloadbionic-nougat-mr1.6-release.tar.gz
release-request-556939d2-cc5e-453a-b797-8a7cb6dacac2-for-git_nyc-mr1-security-f-release-4118426 snap-temp-L72200000081371809android-7.1.1_r56android-7.1.1_r50nougat-mr1.6-release
Change-Id: I43716359c9b1c7f7c869edd573d77ad6472a8ca8
-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);