aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-05-25 18:21:07 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-05-25 18:21:07 +0000
commita1d93e8b97c621bb9ae21fabfea5f74ab36fc216 (patch)
treeae33e49fbcdddb79e9ad8b950d5874eef1cc77de
parentaf2b89d23c3f1772691127e7501e868035879607 (diff)
parent3dd8fd9ddab8d54b130c81862a48c422df7d1b11 (diff)
downloadbionic-nougat-mr1.1-release.tar.gz
Merge cherrypicks of [2315914, 2315916, 2315837, 2315963, 2315918, 2315814, 2315983, 2315964, 2316107, 2316086, 2316109, 2315977, 2316145, 2316016, 2316110, 2316221, 2316088, 2316210, 2316242, 2316222, 2316075, 2316076, 2316077, 2316089, 2316243, 2316183, 2316078, 2316112, 2316211, 2316149, 2316113, 2316212, 2316151, 2316215, 2316131, 2316115, 2316245, 2316216, 2316116, 2316217, 2316279, 2316186, 2316187, 2316246, 2316247, 2316249, 2316218, 2316092, 2316094, 2316323, 2316360, 2316379] into nyc-mr1-security-a-releaseandroid-7.1.1_r54android-7.1.1_r51android-7.1.1_r47android-7.1.1_r44nougat-mr1.1-release
Change-Id: Ic0e2633456e2682ceb4a67415e52b1716b03da78
-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);