aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-05-25 17:52:00 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-05-25 17:52:00 +0000
commit3ee66f3b920b162c357a7a4a2c2d4ef0e9e89a09 (patch)
treeae33e49fbcdddb79e9ad8b950d5874eef1cc77de
parente04608196aae9d4afbc08294d01a419cca312e6a (diff)
parent0d23f83aeba7105a71cdb1241e361df6572efe7b (diff)
downloadbionic-nougat-mr1.5-release.tar.gz
Merge cherrypicks of [2315763, 2315554, 2315573, 2315765, 2315712, 2315595, 2315713, 2315746, 2315786, 2315799, 2315576, 2315800, 2315673, 2315821, 2315578, 2315597, 2315633, 2315598, 2315769, 2315716, 2315634, 2315823, 2315801, 2315636, 2315717, 2315772, 2315753, 2315803, 2315638, 2315840, 2315841, 2315842, 2315824, 2315791, 2315879, 2315804, 2315827, 2315863, 2315792, 2315864, 2315755, 2315882, 2315756, 2315828, 2315793, 2315865, 2315883, 2315899, 2315885, 2315796, 2315869, 2315923, 2315924, 2315943] into nyc-mr1-security-e-releaseandroid-7.1.1_r57android-7.1.1_r55android-7.1.1_r52android-7.1.1_r48android-7.1.1_r45nougat-mr1.7-releasenougat-mr1.5-release
Change-Id: Ib1e4a373c33312bca9d69d1863d9d023b2676587
-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);