aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-05-24 22:53:47 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-05-24 22:53:47 +0000
commit73c8fe10cf1268028b7932daa63e8ec25b41ecb8 (patch)
tree1c7386dffada672b5744cf4f4a331c0914383a70
parente360a1c8a389772718814d291978390e0b662805 (diff)
parent0b12831721ab0ca2d50c8cf4968b6c97ad5077e5 (diff)
downloadbionic-nougat-mr2.3-release.tar.gz
Merge cherrypicks of [2310999, 2310925, 2310891, 2311000, 2310892, 2310858, 2310986, 2310963, 2311043, 2310928, 2311044, 2310990, 2311022, 2311023, 2310917, 2310994, 2311024, 2311045, 2310967, 2310995, 2311003, 2311059, 2311025, 2311060, 2310953, 2311061, 2311004, 2311046, 2311005, 2311047, 2311006, 2311079, 2310954, 2311026, 2310896, 2310898, 2310997, 2311062, 2310955, 2311029, 2310998, 2311080, 2311119, 2311030, 2310933, 2311140, 2311063, 2310934, 2311049, 2311050, 2311084, 2311031, 2311145, 2311164] into nyc-mr2-security-c-releaseandroid-7.1.2_r33android-7.1.2_r27nougat-mr2.3-release
Change-Id: I667231caeb04aec980799c4d1b0323eeec48e6cb
-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);