Skip to content

Commit 5880c68

Browse files
Fixed the memory leak (#209)
1 parent 34b6b56 commit 5880c68

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

ngraph_bridge/ngraph_backend_manager.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ BackendManager::~BackendManager() {
3030
// initialize backend manager
3131
string BackendManager::ng_backend_name_ = "CPU";
3232
mutex BackendManager::ng_backend_name_mutex_;
33-
map<string, Backend*> BackendManager::ng_backend_map_;
33+
map<string, std::unique_ptr<Backend>> BackendManager::ng_backend_map_;
3434
mutex BackendManager::ng_backend_map_mutex_;
3535
map<std::string, int> BackendManager::ref_count_each_backend_;
3636

@@ -49,7 +49,6 @@ Status BackendManager::CreateBackend(const string& backend_name) {
4949
auto itr = BackendManager::ng_backend_map_.find(backend_name);
5050
// if backend does not exist create it
5151
if (itr == BackendManager::ng_backend_map_.end()) {
52-
Backend* bend = new Backend;
5352
std::shared_ptr<ng::runtime::Backend> bend_ptr;
5453
try {
5554
bend_ptr = ng::runtime::Backend::create(backend_name);
@@ -62,8 +61,9 @@ Status BackendManager::CreateBackend(const string& backend_name) {
6261
return errors::Internal("Could not create backend of type ",
6362
backend_name);
6463
}
64+
std::unique_ptr<Backend> bend = std::unique_ptr<Backend>(new Backend);
6565
bend->backend_ptr = std::move(bend_ptr);
66-
BackendManager::ng_backend_map_[backend_name] = bend;
66+
BackendManager::ng_backend_map_[backend_name] = std::move(bend);
6767
BackendManager::ref_count_each_backend_[backend_name] = 0;
6868
}
6969
BackendManager::ref_count_each_backend_[backend_name]++;

ngraph_bridge/ngraph_backend_manager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ class BackendManager {
127127
static mutex ng_backend_name_mutex_;
128128

129129
// map of cached backend objects
130-
static map<string, Backend*> ng_backend_map_;
130+
static map<string, std::unique_ptr<Backend>> ng_backend_map_;
131131
static mutex ng_backend_map_mutex_;
132132

133133
// Map of backends and their reference counts

0 commit comments

Comments
 (0)