Nativeloader: Restrict anonymous namespace creation
Create the anonymous namespace only from a non-empty library path.
This is a better heuristic than the current "first-come" one. It
allows creating classloaders that are not directly related to an
app's "main" classloader, that is, do not have any library path.
This is the case, for example, for shared libraries, including
preloaded ones.
Longer-term, the anonymous namespace creation should be made
explicit, so that the framework can have full control.
(cherry picked from commit b9df7d936c
)
Bug: 130623656
Test: m
Test: manual
Merged-In: I8251363b372e365d10ae09d23df93d76388ac7f9
Change-Id: I8251363b372e365d10ae09d23df93d76388ac7f9
This commit is contained in:
parent
ff9ac9e286
commit
0c3f120fc6
|
@ -220,7 +220,9 @@ class LibraryNamespaces {
|
|||
}
|
||||
}
|
||||
|
||||
if (!initialized_ && !InitPublicNamespace(library_path.c_str(), error_msg)) {
|
||||
// Initialize the anonymous namespace with the first non-empty library path.
|
||||
if (!library_path.empty() && !initialized_ &&
|
||||
!InitPublicNamespace(library_path.c_str(), error_msg)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue