diff options
author | Dimitry Ivanov <dimitry@google.com> | 2017-05-16 22:15:22 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-05-16 22:15:22 +0000 |
commit | 0399816edbdb01056982632b261d33bfe8aaab8a (patch) | |
tree | 350576d8f9990785f0be174d378010324102a2df | |
parent | 4852206c8b1a1230359dd8cb688144af6b682982 (diff) | |
parent | cb40eec87c6c4bfd1445184fa03c28f1d50bf670 (diff) | |
download | bionic-0399816edbdb01056982632b261d33bfe8aaab8a.tar.gz |
linker: remove link from external library on unload am: b37d10cc80 am: 3a644889b2
am: cb40eec87c
Change-Id: Id0d4a58612a9be52a1f1a0f976bbeeab89547c09
-rw-r--r-- | linker/linker.cpp | 3 |
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); |