diff options
| author | 2019-01-16 07:21:34 -0800 | |
|---|---|---|
| committer | 2019-01-16 07:21:34 -0800 | |
| commit | 7f0a185f82de1800ee821bb291b266aad69a7fbe (patch) | |
| tree | caf0c8b19020087119b9e16922e38254e72ea8a6 | |
| parent | cf5ef56465f91436168845d582b3714512404378 (diff) | |
| parent | c9a388a147b6a64da77a95cc201f37ac9cc2aab6 (diff) | |
Merge "Move to C API of libnativeloader."
am: c9a388a147
Change-Id: Idf140a25f8a0db60614fb61dad84d1ad0c9a4c60
| -rw-r--r-- | libs/graphicsenv/include/graphicsenv/GraphicsEnv.h | 2 | ||||
| -rw-r--r-- | vulkan/libvulkan/layers_extensions.cpp | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h b/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h index 17e8f6ba47..784e2c8903 100644 --- a/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h +++ b/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h @@ -23,7 +23,7 @@ struct android_namespace_t; namespace android { -class NativeLoaderNamespace; +struct NativeLoaderNamespace; class GraphicsEnv { public: diff --git a/vulkan/libvulkan/layers_extensions.cpp b/vulkan/libvulkan/layers_extensions.cpp index 009b257029..ba4cf00451 100644 --- a/vulkan/libvulkan/layers_extensions.cpp +++ b/vulkan/libvulkan/layers_extensions.cpp @@ -139,12 +139,12 @@ bool LayerLibrary::Open() { auto app_namespace = android::GraphicsEnv::getInstance().getAppNamespace(); if (app_namespace && !android::base::StartsWith(path_, kSystemLayerLibraryDir)) { - std::string error_msg; - dlhandle_ = OpenNativeLibrary( + char* error_msg = nullptr; + dlhandle_ = OpenNativeLibraryInNamespace( app_namespace, path_.c_str(), &native_bridge_, &error_msg); if (!dlhandle_) { - ALOGE("failed to load layer library '%s': %s", path_.c_str(), - error_msg.c_str()); + ALOGE("failed to load layer library '%s': %s", path_.c_str(), error_msg); + android::NativeLoaderFreeErrorMessage(error_msg); refcount_ = 0; return false; } @@ -165,9 +165,10 @@ void LayerLibrary::Close() { std::lock_guard<std::mutex> lock(mutex_); if (--refcount_ == 0) { ALOGV("closing layer library '%s'", path_.c_str()); - std::string error_msg; + char* error_msg = nullptr; if (!android::CloseNativeLibrary(dlhandle_, native_bridge_, &error_msg)) { - ALOGE("failed to unload library '%s': %s", path_.c_str(), error_msg.c_str()); + ALOGE("failed to unload library '%s': %s", path_.c_str(), error_msg); + android::NativeLoaderFreeErrorMessage(error_msg); refcount_++; } else { dlhandle_ = nullptr; |