Closing files in interpreter`s plugin and cpp operations (#1185)
authorЮрий Новиков/AI Tools Lab /SRR/Assistant Engineer/삼성전자 <y.novikov@partner.samsung.com>
Fri, 31 Aug 2018 15:33:20 +0000 (18:33 +0300)
committerSergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 <s.vostokov@samsung.com>
Fri, 31 Aug 2018 15:33:20 +0000 (18:33 +0300)
Add closing of files in interpreter_plugin.cpp and cpp_operations.def. Also checking for error codes was made.

Signed-off-by: y.novikov <y.novikov@partner.samsung.com>
contrib/nnc/plugin/interpreter/interpreter_plugin.cpp
contrib/nnc/plugin/soft_backend/cpp_operations.def

index ba553fa..09555b9 100644 (file)
@@ -139,6 +139,9 @@ TensorVariant InterpreterPlugin::loadInput(const Shape &shape)
   auto data = new char[len];
   auto rlen = fread(data, len, 1, f);
   assert(rlen == 1);
+  int is_error = fclose(f);
+  assert(is_error != EOF &&  "Can not close file!");
+  (void)is_error;
 
   return TensorVariant(shape, std::shared_ptr<char>(data, [](const char* d) { delete[] d; }), TensorVariant::DTYPE::FLOAT, sizeof(float));
 }
index 0d07fff..aa2f76e 100644 (file)
@@ -44,6 +44,9 @@ void readParameters(char *&data, size_t &len, const string &path,
   assert(hash == expectedHash);
 
   data = static_cast<char *>(mmap(NULL, len, PROT_READ, MAP_PRIVATE, fd, 0));
+  int is_error = close(fd);
+  assert(!is_error &&  "Can not close file!");
+  (void)is_error;
 }
 
 void releaseParameters(char *data, size_t len)