From d20487a04cf7c7d44f9076a4ec4f4ab42665002d Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=AE=D1=80=D0=B8=D0=B9=20=D0=9D=D0=BE=D0=B2=D0=B8=D0=BA?= =?utf8?q?=D0=BE=D0=B2/AI=20Tools=20Lab=20/SRR/Assistant=20Engineer/?= =?utf8?q?=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Fri, 31 Aug 2018 18:33:20 +0300 Subject: [PATCH] Closing files in interpreter`s plugin and cpp operations (#1185) Add closing of files in interpreter_plugin.cpp and cpp_operations.def. Also checking for error codes was made. Signed-off-by: y.novikov --- contrib/nnc/plugin/interpreter/interpreter_plugin.cpp | 3 +++ contrib/nnc/plugin/soft_backend/cpp_operations.def | 3 +++ 2 files changed, 6 insertions(+) diff --git a/contrib/nnc/plugin/interpreter/interpreter_plugin.cpp b/contrib/nnc/plugin/interpreter/interpreter_plugin.cpp index ba553fa..09555b9 100644 --- a/contrib/nnc/plugin/interpreter/interpreter_plugin.cpp +++ b/contrib/nnc/plugin/interpreter/interpreter_plugin.cpp @@ -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(data, [](const char* d) { delete[] d; }), TensorVariant::DTYPE::FLOAT, sizeof(float)); } diff --git a/contrib/nnc/plugin/soft_backend/cpp_operations.def b/contrib/nnc/plugin/soft_backend/cpp_operations.def index 0d07fff..aa2f76e 100644 --- a/contrib/nnc/plugin/soft_backend/cpp_operations.def +++ b/contrib/nnc/plugin/soft_backend/cpp_operations.def @@ -44,6 +44,9 @@ void readParameters(char *&data, size_t &len, const string &path, assert(hash == expectedHash); data = static_cast(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) -- 2.7.4