diff --git a/openVulkanoCpp/IO/MemMappedFile.cpp b/openVulkanoCpp/IO/MemMappedFile.cpp index dbb6963..6e337f7 100644 --- a/openVulkanoCpp/IO/MemMappedFile.cpp +++ b/openVulkanoCpp/IO/MemMappedFile.cpp @@ -18,4 +18,15 @@ namespace OpenVulkano m_data = m_internal->address; m_size = (m_data) ? m_internal->size : 0; } + + void MemMappedFile::Close() + { + if (m_internal.use_count() != 1) + { + Logger::APP->warn("Closing memory mapped file with {} usages", m_internal.use_count()); + } + m_internal = nullptr; + m_data = nullptr; + m_size = 0; + } } diff --git a/openVulkanoCpp/IO/MemMappedFile.hpp b/openVulkanoCpp/IO/MemMappedFile.hpp index e007564..70f2469 100644 --- a/openVulkanoCpp/IO/MemMappedFile.hpp +++ b/openVulkanoCpp/IO/MemMappedFile.hpp @@ -38,5 +38,7 @@ namespace OpenVulkano [[nodiscard]] size_t Size() const { return m_size; } [[nodiscard]] void* Data() const { return m_data; } + + void Close(); }; } \ No newline at end of file