minor improvements to mmap.cpp

metadata
Wenzel Jakob 2012-03-26 12:51:55 -04:00
parent 813e32e790
commit 4c3b1d0014
1 changed files with 18 additions and 15 deletions

View File

@ -7,7 +7,7 @@
MTS_NAMESPACE_BEGIN MTS_NAMESPACE_BEGIN
MemoryMappedFile::MemoryMappedFile(const fs::path &filename) : m_filename(filename) { MemoryMappedFile::MemoryMappedFile(const fs::path &filename) : m_filename(filename), m_data(NULL) {
if (!fs::exists(filename)) if (!fs::exists(filename))
Log(EError, "The file \"%s\" does not exist!", filename.file_string().c_str()); Log(EError, "The file \"%s\" does not exist!", filename.file_string().c_str());
m_size = (size_t) fs::file_size(filename); m_size = (size_t) fs::file_size(filename);
@ -41,9 +41,11 @@ MemoryMappedFile::MemoryMappedFile(const fs::path &filename) : m_filename(filena
} }
MemoryMappedFile::~MemoryMappedFile() { MemoryMappedFile::~MemoryMappedFile() {
#if defined(__LINUX__) || defined(__OSX__) if (m_data) {
Log(ETrace, "Unmapping \"%s\" from memory", Log(ETrace, "Unmapping \"%s\" from memory",
m_filename.file_string().c_str()); m_filename.file_string().c_str());
#if defined(__LINUX__) || defined(__OSX__)
int retval = munmap(m_data, m_size); int retval = munmap(m_data, m_size);
if (retval != 0) if (retval != 0)
Log(EError, "munmap(): unable to unmap memory!"); Log(EError, "munmap(): unable to unmap memory!");
@ -56,6 +58,7 @@ MemoryMappedFile::~MemoryMappedFile() {
Log(EError, "CloseHandle(): unable to close file: %s", lastErrorText().c_str()); Log(EError, "CloseHandle(): unable to close file: %s", lastErrorText().c_str());
#endif #endif
} }
}
MTS_IMPLEMENT_CLASS(MemoryMappedFile, false, Object) MTS_IMPLEMENT_CLASS(MemoryMappedFile, false, Object)
MTS_NAMESPACE_END MTS_NAMESPACE_END