@@ -72,29 +72,16 @@ public final class FileLock {
72
72
public func lock( type: LockType = . exclusive) throws {
73
73
#if os(Windows)
74
74
if handle == nil {
75
- let h = lockFile. pathString. withCString ( encodedAs: UTF16 . self, {
76
- switch mode {
77
- case . exclusive:
78
- CreateFileW (
79
- $0,
80
- UInt32 ( GENERIC_READ) | UInt32 ( GENERIC_WRITE) ,
81
- 0 ,
82
- nil ,
83
- DWORD ( OPEN_ALWAYS) ,
84
- DWORD ( FILE_ATTRIBUTE_NORMAL) ,
85
- nil
86
- )
87
- case . shared:
88
- CreateFileW (
89
- $0,
90
- UInt32 ( GENERIC_READ) | UInt32 ( GENERIC_WRITE) ,
91
- DWORD ( FILE_SHARE_READ) ,
92
- nil ,
93
- DWORD ( OPEN_ALWAYS) ,
94
- DWORD ( FILE_ATTRIBUTE_NORMAL) ,
95
- nil
96
- )
97
- }
75
+ let h : HANDLE = lockFile. pathString. withCString ( encodedAs: UTF16 . self, {
76
+ CreateFileW (
77
+ $0,
78
+ UInt32 ( GENERIC_READ) | UInt32 ( GENERIC_WRITE) ,
79
+ UInt32 ( FILE_SHARE_READ) | UInt32 ( FILE_SHARE_WRITE) ,
80
+ nil ,
81
+ DWORD ( OPEN_ALWAYS) ,
82
+ DWORD ( FILE_ATTRIBUTE_NORMAL) ,
83
+ nil
84
+ )
98
85
} )
99
86
if h == INVALID_HANDLE_VALUE {
100
87
throw FileSystemError ( errno: Int32 ( GetLastError ( ) ) )
@@ -105,7 +92,7 @@ public final class FileLock {
105
92
overlapped. Offset = 0
106
93
overlapped. OffsetHigh = 0
107
94
overlapped. hEvent = nil
108
- switch mode {
95
+ switch type {
109
96
case . exclusive:
110
97
if !LockFileEx( handle, DWORD ( LOCKFILE_EXCLUSIVE_LOCK) , 0 ,
111
98
DWORD ( INT_MAX) , DWORD ( INT_MAX) , & overlapped) {
0 commit comments