Kaynağa Gözat

Merge topic 'file-LOCK-close'

1f289095 file(LOCK): Close file descriptor/handle when releasing a lock
Brad King 10 yıl önce
ebeveyn
işleme
166e29e453
2 değiştirilmiş dosya ile 7 ekleme ve 0 silme
  1. 4 0
      Source/cmFileLockUnix.cxx
  2. 3 0
      Source/cmFileLockWin32.cxx

+ 4 - 0
Source/cmFileLockUnix.cxx

@@ -15,6 +15,7 @@
 #include <errno.h> // errno
 #include <stdio.h> // SEEK_SET
 #include <fcntl.h>
+#include <unistd.h>
 #include "cmSystemTools.h"
 
 cmFileLock::cmFileLock(): File(-1)
@@ -31,6 +32,9 @@ cmFileLockResult cmFileLock::Release()
 
   this->Filename = "";
 
+  ::close(this->File);
+  this->File = -1;
+
   if (lockResult == 0)
     {
     return cmFileLockResult::MakeOk();

+ 3 - 0
Source/cmFileLockWin32.cxx

@@ -38,6 +38,9 @@ cmFileLockResult cmFileLock::Release()
 
   this->Filename = "";
 
+  CloseHandle(this->File);
+  this->File = INVALID_HANDLE_VALUE;
+
   if (unlockResult)
     {
     return cmFileLockResult::MakeOk();