From 112380df9ca9adbf8e4bac384ccdbdcb8ed146d0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=98=A4=ED=98=95=EC=84=9D/On-Device=20Lab=28SR=29/Staff?= =?utf8?q?=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Tue, 19 Mar 2019 17:07:32 +0900 Subject: [PATCH] Save backend dlopen handle (#4784) Save backend dlopen handle in map member variable It uses to avoid warning by handle lost without dlclose(), but it will be used to other purpose later Signed-off-by: Hyeongseok Oh --- runtimes/neurun/core/src/backend/BackendManager.cc | 3 +++ runtimes/neurun/core/src/backend/BackendManager.h | 1 + 2 files changed, 4 insertions(+) diff --git a/runtimes/neurun/core/src/backend/BackendManager.cc b/runtimes/neurun/core/src/backend/BackendManager.cc index b263250..4e0c90c 100644 --- a/runtimes/neurun/core/src/backend/BackendManager.cc +++ b/runtimes/neurun/core/src/backend/BackendManager.cc @@ -73,6 +73,9 @@ void BackendManager::loadBackend(const std::string &backend, loadObjectFromPlugin(stage_gen, std::string("allocate_StageGenerator"), handle, operands, tensor_builder); _gen_map[config->id()] = {config, stage_gen}; + + // Save backend handle (avoid warning by handle lost without dlclose()) + _handle_map.insert({backend, handle}); } BackendManager::BackendManager(const neurun::model::operand::Set &operands) diff --git a/runtimes/neurun/core/src/backend/BackendManager.h b/runtimes/neurun/core/src/backend/BackendManager.h index 2ef8ed6..8f11e7f 100644 --- a/runtimes/neurun/core/src/backend/BackendManager.h +++ b/runtimes/neurun/core/src/backend/BackendManager.h @@ -37,6 +37,7 @@ public: private: std::map _gen_map; + std::map _handle_map; /** * @brief Allocate an object of a class of a plugin by loading a plugin function, that does * allocation, and calling it -- 2.7.4