authorgravatar for 48869301+gvilums@users.noreply.github.comGeorgijs <48869301+gvilums@users.noreply.github.com> 2024-05-11 14:34:40-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-05-11 23:34:40+02:00
log084c2cd90f79d5e7edf76b7ddd390adb95a27f0c
tree61d883f0611275e455ec3486d61698f8cfd18df1
parent8f6b1f2c38422168d29a6dd6fab61f337430e74e
signaturebadge-check Signed by PGP key B5690EEEBB952194

windows: use permissive file share flags everywhere (#19505)

* use permissive file share flags everywhere * remove file_share_delete from createnamedpipefile

5 files changed, 9 insertions(+), 9 deletions(-)

lib/std/child_process.zig+1-1
......@@ -697,7 +697,7 @@ pub const ChildProcess = struct {
697697 // "\Device\Null" or "\??\NUL"
698698 windows.OpenFile(&[_]u16{ '\\', 'D', 'e', 'v', 'i', 'c', 'e', '\\', 'N', 'u', 'l', 'l' }, .{
699699 .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,
701701 .sa = &saAttr,
702702 .creation = windows.OPEN_EXISTING,
703703 }) 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
13251325 const w = windows;
13261326
13271327 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;
13291329 const creation = w.FILE_OPEN;
13301330 const h_file = blk: {
13311331 const res = w.OpenFile(pathname, .{
......@@ -1598,7 +1598,7 @@ fn makeOpenDirAccessMaskW(self: Dir, sub_path_w: [*:0]const u16, access_mask: u3
15981598 &io,
15991599 null,
16001600 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,
16021602 flags.create_disposition,
16031603 w.FILE_DIRECTORY_FILE | w.FILE_SYNCHRONOUS_IO_NONALERT | w.FILE_OPEN_FOR_BACKUP_INTENT | open_reparse_point,
16041604 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" {
262262 &io,
263263 null,
264264 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,
266266 windows.FILE_OPEN,
267267 // FILE_OPEN_REPARSE_POINT is the important thing here
268268 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
217217 &iosb,
218218 null,
219219 0,
220 FILE_SHARE_READ | FILE_SHARE_WRITE,
220 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
221221 FILE_OPEN,
222222 FILE_SYNCHRONOUS_IO_NONALERT,
223223 null,
......@@ -283,7 +283,7 @@ pub fn CreatePipe(rd: *HANDLE, wr: *HANDLE, sattr: *const SECURITY_ATTRIBUTES) C
283283 &iosb,
284284 null,
285285 0,
286 FILE_SHARE_READ | FILE_SHARE_WRITE,
286 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
287287 FILE_OPEN,
288288 FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE,
289289 null,
......@@ -892,7 +892,7 @@ pub fn ReadLink(dir: ?HANDLE, sub_path_w: []const u16, out_buffer: []u8) ReadLin
892892 &io,
893893 null,
894894 FILE_ATTRIBUTE_NORMAL,
895 FILE_SHARE_READ,
895 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
896896 FILE_OPEN,
897897 FILE_OPEN_REPARSE_POINT | FILE_SYNCHRONOUS_IO_NONALERT,
898898 null,
......@@ -1311,7 +1311,7 @@ pub fn GetFinalPathNameByHandle(
13111311 const mgmt_path_u16 = std.unicode.utf8ToUtf16LeStringLiteral("\\??\\MountPointManager");
13121312 const mgmt_handle = OpenFile(mgmt_path_u16, .{
13131313 .access_mask = SYNCHRONIZE,
1314 .share_access = FILE_SHARE_READ | FILE_SHARE_WRITE,
1314 .share_access = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
13151315 .creation = FILE_OPEN,
13161316 }) catch |err| switch (err) {
13171317 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
54035403
54045404 const dir = fs.cwd().fd;
54055405 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;
54075407 const creation = w.FILE_OPEN;
54085408 const h_file = blk: {
54095409 const res = w.OpenFile(pathname, .{