aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-05-31 20:31:37 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-05-31 20:31:37 +0000
commit3e201947d72e36eb391a96f8e8312c5f63e0ef20 (patch)
tree1c7386dffada672b5744cf4f4a331c0914383a70
parente360a1c8a389772718814d291978390e0b662805 (diff)
parent38072ff64208fe072c54eebbf18c85c4c087da6e (diff)
downloadbionic-nougat-mr2.2-release.tar.gz
Merge cherrypicks of [2338295, 2338197, 2338407, 2338385, 2338425, 2338465, 2338447, 2338426, 2338386, 2338387, 2338466, 2338368, 2338296, 2338198, 2338450, 2338470, 2338429, 2338390, 2338430, 2338315, 2338452, 2338453, 2338431, 2338297, 2338354, 2338200, 2338391, 2338392, 2338482, 2338357, 2338411, 2338394, 2338318, 2338370, 2338434, 2338472, 2338473, 2338395, 2338299, 2338412, 2338413, 2338454, 2338396, 2338474, 2338397, 2338360, 2338455] into nyc-mr2-security-b-releaseandroid-7.1.2_r32android-7.1.2_r25nougat-mr2.2-release
Change-Id: Ie9006d54b2842fd13c56b144f9ff863ee3e831ac
-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);