| author | |
| committer | |
| log | 084c2cd90f79d5e7edf76b7ddd390adb95a27f0c |
| tree | 61d883f0611275e455ec3486d61698f8cfd18df1 |
| parent | 8f6b1f2c38422168d29a6dd6fab61f337430e74e |
| signature |
* use permissive file share flags everywhere
* remove file_share_delete from createnamedpipefile5 files changed, 9 insertions(+), 9 deletions(-)
lib/std/child_process.zig+1-1| ... | ... | @@ -697,7 +697,7 @@ pub const ChildProcess = struct { |
| 697 | 697 | // "\Device\Null" or "\??\NUL" |
| 698 | 698 | windows.OpenFile(&[_]u16{ '\\', 'D', 'e', 'v', 'i', 'c', 'e', '\\', 'N', 'u', 'l', 'l' }, .{ |
| 699 | 699 | .access_mask = windows.GENERIC_READ | windows.GENERIC_WRITE | windows.SYNCHRONIZE, |
| 700 | .share_access = windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE, | |
| 700 | .share_access = windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE | windows.FILE_SHARE_DELETE, | |
| 701 | 701 | .sa = &saAttr, |
| 702 | 702 | .creation = windows.OPEN_EXISTING, |
| 703 | 703 | }) catch |err| switch (err) { |
lib/std/fs/Dir.zig+2-2| ... | ... | @@ -1325,7 +1325,7 @@ pub fn realpathW(self: Dir, pathname: []const u16, out_buffer: []u8) RealPathErr |
| 1325 | 1325 | const w = windows; |
| 1326 | 1326 | |
| 1327 | 1327 | const access_mask = w.GENERIC_READ | w.SYNCHRONIZE; |
| 1328 | const share_access = w.FILE_SHARE_READ; | |
| 1328 | const share_access = w.FILE_SHARE_READ | w.FILE_SHARE_WRITE | w.FILE_SHARE_DELETE; | |
| 1329 | 1329 | const creation = w.FILE_OPEN; |
| 1330 | 1330 | const h_file = blk: { |
| 1331 | 1331 | const res = w.OpenFile(pathname, .{ |
| ... | ... | @@ -1598,7 +1598,7 @@ fn makeOpenDirAccessMaskW(self: Dir, sub_path_w: [*:0]const u16, access_mask: u3 |
| 1598 | 1598 | &io, |
| 1599 | 1599 | null, |
| 1600 | 1600 | w.FILE_ATTRIBUTE_NORMAL, |
| 1601 | w.FILE_SHARE_READ | w.FILE_SHARE_WRITE, | |
| 1601 | w.FILE_SHARE_READ | w.FILE_SHARE_WRITE | w.FILE_SHARE_DELETE, | |
| 1602 | 1602 | flags.create_disposition, |
| 1603 | 1603 | w.FILE_DIRECTORY_FILE | w.FILE_SYNCHRONOUS_IO_NONALERT | w.FILE_OPEN_FOR_BACKUP_INTENT | open_reparse_point, |
| 1604 | 1604 | null, |
lib/std/fs/test.zig+1-1| ... | ... | @@ -262,7 +262,7 @@ test "File.stat on a File that is a symlink returns Kind.sym_link" { |
| 262 | 262 | &io, |
| 263 | 263 | null, |
| 264 | 264 | windows.FILE_ATTRIBUTE_NORMAL, |
| 265 | windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE, | |
| 265 | windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE | windows.FILE_SHARE_DELETE, | |
| 266 | 266 | windows.FILE_OPEN, |
| 267 | 267 | // FILE_OPEN_REPARSE_POINT is the important thing here |
| 268 | 268 | windows.FILE_OPEN_REPARSE_POINT | windows.FILE_DIRECTORY_FILE | windows.FILE_SYNCHRONOUS_IO_NONALERT | windows.FILE_OPEN_FOR_BACKUP_INTENT, |
lib/std/os/windows.zig+4-4| ... | ... | @@ -217,7 +217,7 @@ pub fn CreatePipe(rd: *HANDLE, wr: *HANDLE, sattr: *const SECURITY_ATTRIBUTES) C |
| 217 | 217 | &iosb, |
| 218 | 218 | null, |
| 219 | 219 | 0, |
| 220 | FILE_SHARE_READ | FILE_SHARE_WRITE, | |
| 220 | FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, | |
| 221 | 221 | FILE_OPEN, |
| 222 | 222 | FILE_SYNCHRONOUS_IO_NONALERT, |
| 223 | 223 | null, |
| ... | ... | @@ -283,7 +283,7 @@ pub fn CreatePipe(rd: *HANDLE, wr: *HANDLE, sattr: *const SECURITY_ATTRIBUTES) C |
| 283 | 283 | &iosb, |
| 284 | 284 | null, |
| 285 | 285 | 0, |
| 286 | FILE_SHARE_READ | FILE_SHARE_WRITE, | |
| 286 | FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, | |
| 287 | 287 | FILE_OPEN, |
| 288 | 288 | FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE, |
| 289 | 289 | null, |
| ... | ... | @@ -892,7 +892,7 @@ pub fn ReadLink(dir: ?HANDLE, sub_path_w: []const u16, out_buffer: []u8) ReadLin |
| 892 | 892 | &io, |
| 893 | 893 | null, |
| 894 | 894 | FILE_ATTRIBUTE_NORMAL, |
| 895 | FILE_SHARE_READ, | |
| 895 | FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, | |
| 896 | 896 | FILE_OPEN, |
| 897 | 897 | FILE_OPEN_REPARSE_POINT | FILE_SYNCHRONOUS_IO_NONALERT, |
| 898 | 898 | null, |
| ... | ... | @@ -1311,7 +1311,7 @@ pub fn GetFinalPathNameByHandle( |
| 1311 | 1311 | const mgmt_path_u16 = std.unicode.utf8ToUtf16LeStringLiteral("\\??\\MountPointManager"); |
| 1312 | 1312 | const mgmt_handle = OpenFile(mgmt_path_u16, .{ |
| 1313 | 1313 | .access_mask = SYNCHRONIZE, |
| 1314 | .share_access = FILE_SHARE_READ | FILE_SHARE_WRITE, | |
| 1314 | .share_access = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, | |
| 1315 | 1315 | .creation = FILE_OPEN, |
| 1316 | 1316 | }) catch |err| switch (err) { |
| 1317 | 1317 | error.IsDir => return error.Unexpected, |
lib/std/posix.zig+1-1| ... | ... | @@ -5403,7 +5403,7 @@ pub fn realpathW(pathname: []const u16, out_buffer: *[max_path_bytes]u8) RealPat |
| 5403 | 5403 | |
| 5404 | 5404 | const dir = fs.cwd().fd; |
| 5405 | 5405 | const access_mask = w.GENERIC_READ | w.SYNCHRONIZE; |
| 5406 | const share_access = w.FILE_SHARE_READ; | |
| 5406 | const share_access = w.FILE_SHARE_READ | w.FILE_SHARE_WRITE | w.FILE_SHARE_DELETE; | |
| 5407 | 5407 | const creation = w.FILE_OPEN; |
| 5408 | 5408 | const h_file = blk: { |
| 5409 | 5409 | const res = w.OpenFile(pathname, .{ |