[nnkit] Remove finalize function of nnkit::Backend (#3430)
author윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 <jy910.yun@samsung.com>
Fri, 10 May 2019 05:43:32 +0000 (14:43 +0900)
committer박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Fri, 10 May 2019 05:43:32 +0000 (14:43 +0900)
This patch does not remove the plugin unique_ptr directly.
Instead, it passes it in so that it is removed according to the unique_ptr policy.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
contrib/nnkit/libs/support/backend/include/nnkit/BackendPlugin.h
contrib/nnkit/libs/support/backend/src/BackendPlugin.cpp
contrib/nnkit/tools/run/nnkit-run.cpp

index 615ab37..1a324bf 100644 (file)
@@ -48,9 +48,6 @@ public:
 public:
   std::unique_ptr<Backend> create(const CmdlineArguments &args) const;
 
-public:
-  void close(void) const;
-
 private:
   void *_handle;
   Entry _entry;
index b428284..54b1fdc 100644 (file)
@@ -36,14 +36,7 @@ BackendPlugin::BackendPlugin(BackendPlugin &&plugin)
   plugin._entry = nullptr;
 }
 
-BackendPlugin::~BackendPlugin() { close(); }
-
-std::unique_ptr<Backend> BackendPlugin::create(const CmdlineArguments &args) const
-{
-  return _entry(args);
-}
-
-void BackendPlugin::close(void) const
+BackendPlugin::~BackendPlugin()
 {
   if (_handle != nullptr)
   {
@@ -51,6 +44,11 @@ void BackendPlugin::close(void) const
   }
 }
 
+std::unique_ptr<Backend> BackendPlugin::create(const CmdlineArguments &args) const
+{
+  return _entry(args);
+}
+
 std::unique_ptr<BackendPlugin> make_backend_plugin(const std::string &path)
 {
   if (path.empty())
index 7698371..e60e579 100644 (file)
@@ -54,7 +54,6 @@ public:
     _plugin = std::move(nnkit::make_backend_plugin(_path));
     return _plugin->create(args());
   }
-  void finalize(void) const { _plugin->close(); }
 
 private:
   std::string _path;
@@ -263,8 +262,5 @@ int main(int argc, char **argv)
     }
   });
 
-  // Finalize a backend
-  sections.backend->finalize();
-
   return 0;
 }