mirror of
https://github.com/RPCS3/llvm.git
synced 2025-04-02 13:21:43 +00:00
[Support][Path][Windows] Fix dangling else. Don't call CloseHandle when CloseFD is false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177175 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5193e4ebe2
commit
1f81ebcbae
@ -715,10 +715,10 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
|
|||||||
FileDescriptor = FD;
|
FileDescriptor = FD;
|
||||||
// Make sure that the requested size fits within SIZE_T.
|
// Make sure that the requested size fits within SIZE_T.
|
||||||
if (Size > std::numeric_limits<SIZE_T>::max()) {
|
if (Size > std::numeric_limits<SIZE_T>::max()) {
|
||||||
if (FileDescriptor)
|
if (FileDescriptor) {
|
||||||
if (CloseFD)
|
if (CloseFD)
|
||||||
_close(FileDescriptor);
|
_close(FileDescriptor);
|
||||||
else
|
} else
|
||||||
::CloseHandle(FileHandle);
|
::CloseHandle(FileHandle);
|
||||||
return make_error_code(errc::invalid_argument);
|
return make_error_code(errc::invalid_argument);
|
||||||
}
|
}
|
||||||
@ -739,10 +739,10 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
|
|||||||
0);
|
0);
|
||||||
if (FileMappingHandle == NULL) {
|
if (FileMappingHandle == NULL) {
|
||||||
error_code ec = windows_error(GetLastError());
|
error_code ec = windows_error(GetLastError());
|
||||||
if (FileDescriptor)
|
if (FileDescriptor) {
|
||||||
if (CloseFD)
|
if (CloseFD)
|
||||||
_close(FileDescriptor);
|
_close(FileDescriptor);
|
||||||
else
|
} else
|
||||||
::CloseHandle(FileHandle);
|
::CloseHandle(FileHandle);
|
||||||
return ec;
|
return ec;
|
||||||
}
|
}
|
||||||
@ -762,10 +762,10 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
|
|||||||
if (Mapping == NULL) {
|
if (Mapping == NULL) {
|
||||||
error_code ec = windows_error(GetLastError());
|
error_code ec = windows_error(GetLastError());
|
||||||
::CloseHandle(FileMappingHandle);
|
::CloseHandle(FileMappingHandle);
|
||||||
if (FileDescriptor)
|
if (FileDescriptor) {
|
||||||
if (CloseFD)
|
if (CloseFD)
|
||||||
_close(FileDescriptor);
|
_close(FileDescriptor);
|
||||||
else
|
} else
|
||||||
::CloseHandle(FileHandle);
|
::CloseHandle(FileHandle);
|
||||||
return ec;
|
return ec;
|
||||||
}
|
}
|
||||||
@ -777,10 +777,10 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
|
|||||||
error_code ec = windows_error(GetLastError());
|
error_code ec = windows_error(GetLastError());
|
||||||
::UnmapViewOfFile(Mapping);
|
::UnmapViewOfFile(Mapping);
|
||||||
::CloseHandle(FileMappingHandle);
|
::CloseHandle(FileMappingHandle);
|
||||||
if (FileDescriptor)
|
if (FileDescriptor) {
|
||||||
if (CloseFD)
|
if (CloseFD)
|
||||||
_close(FileDescriptor);
|
_close(FileDescriptor);
|
||||||
else
|
} else
|
||||||
::CloseHandle(FileHandle);
|
::CloseHandle(FileHandle);
|
||||||
return ec;
|
return ec;
|
||||||
}
|
}
|
||||||
@ -790,10 +790,10 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
|
|||||||
// Close all the handles except for the view. It will keep the other handles
|
// Close all the handles except for the view. It will keep the other handles
|
||||||
// alive.
|
// alive.
|
||||||
::CloseHandle(FileMappingHandle);
|
::CloseHandle(FileMappingHandle);
|
||||||
if (FileDescriptor)
|
if (FileDescriptor) {
|
||||||
if (CloseFD)
|
if (CloseFD)
|
||||||
_close(FileDescriptor); // Also closes FileHandle.
|
_close(FileDescriptor); // Also closes FileHandle.
|
||||||
else
|
} else
|
||||||
::CloseHandle(FileHandle);
|
::CloseHandle(FileHandle);
|
||||||
return error_code::success();
|
return error_code::success();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user