aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-09-13 21:09:58 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-09-13 21:09:58 +0000
commit618f5f0df52c65d1e9e0a8aba8a0fa5543fe067d (patch)
tree86aac9fbcd947a64c8afaa50f208da9da67e3e34
parent06e78b98ec25d6313475b4032aca51cbb25b2632 (diff)
parentf1fe99f7f50af503c0c3fa37bd25b13bf7e137a5 (diff)
downloadbionic-nougat-mr0.5-release.tar.gz
Merge cherrypicks of [2890126, 2889507, 2890138, 2890127, 2890128, 2891029, 2891030, 2891031, 2891032, 2891033, 2891034, 2891036, 2891037, 2891038, 2891039, 2891040, 2890763, 2890764, 2890765, 2890766, 2890767, 2890768, 2891129, 2891130, 2891131, 2890139, 2890140, 2890141, 2890142, 2890143, 2890144, 2890145, 2890536, 2891066, 2890146, 2891133, 2891134, 2891135, 2891452, 2891453, 2891454, 2891455, 2891456, 2891457, 2891458, 2890150, 2890151, 2891459, 2891460, 2891461, 2891462, 2891633, 2891638, 2891639, 2891790, 2891808, 2891849, 2891850, 2891759, 2891760, 2891929, 2891930, 2891643, 2891743, 2891716] into nyc-bugfix-releaseandroid-7.0.0_r36android-7.0.0_r35android-7.0.0_r34nougat-mr0.5-release
Change-Id: I37c2bbf0a33541b4a7f4d9cf28d1414ba2a0ae8c
-rw-r--r--linker/linker.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 39aa2caec..a287cf453 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -2239,6 +2239,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);