diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/core/slang-io.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/source/core/slang-io.cpp b/source/core/slang-io.cpp index 851c70073..0720e788f 100644 --- a/source/core/slang-io.cpp +++ b/source/core/slang-io.cpp @@ -1316,9 +1316,17 @@ void LockFile::close() return; #if SLANG_WINDOWS_FAMILY - ::CloseHandle(m_fileHandle); + if (m_fileHandle != INVALID_HANDLE_VALUE) + { + ::CloseHandle(m_fileHandle); + m_fileHandle = INVALID_HANDLE_VALUE; + } #else - ::close(m_fileHandle); + if (m_fileHandle != -1) + { + ::close(m_fileHandle); + m_fileHandle = -1; + } #endif m_isOpen = false; @@ -1409,6 +1417,11 @@ SlangResult LockFile::unlock() LockFile::LockFile() : m_isOpen(false) { +#if SLANG_WINDOWS_FAMILY + m_fileHandle = INVALID_HANDLE_VALUE; +#else + m_fileHandle = -1; +#endif } LockFile::~LockFile() |
