diff options
| author | 2019-01-11 15:59:42 +0000 | |
|---|---|---|
| committer | 2019-01-16 13:39:07 +0000 | |
| commit | 26856ac373d1aa534de0fd333a2500bfc3c8c0d4 (patch) | |
| tree | 53f5abad57adfcca13a3418a77dd842dfb1b9d4e | |
| parent | 9a22123ae4e05dde32d4973beddc7f30868e89dc (diff) | |
Move to C API of libnativeloader.
Test: m
Bug: 119840313
Merged-In: I11c44c46595cde768ee639e6c5a4cce1559e32f7
(cherry picked from commit a655dac726de2b2085700a4afe9456ac0ab302b7)
Change-Id: I2ccacbe8937be7f26311364618f46e7f83274e85
Exempt-From-Owner-Approval: Cherry-pick of approved CL in master.
| -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; |