diff --git a/libuavcan_drivers/posix/include/uavcan_posix/file_server_backend.hpp b/libuavcan_drivers/posix/include/uavcan_posix/file_server_backend.hpp index 54bf531ac4..963982bb23 100644 --- a/libuavcan_drivers/posix/include/uavcan_posix/file_server_backend.hpp +++ b/libuavcan_drivers/posix/include/uavcan_posix/file_server_backend.hpp @@ -87,7 +87,7 @@ public: } } while(len); - + close(fd); out_crc64 = crc.get(); out_size = size; EntryType t; @@ -125,6 +125,7 @@ public: if (::lseek(fd, offset, SEEK_SET) >= 0) { ssize_t len = ::read(fd, out_buffer, inout_size); + close(fd); if (len < 0) { return rv;