mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 14:23:09 +00:00
windows: use permissive file share flags everywhere (#19505)
* use permissive file share flags everywhere * remove file_share_delete from createnamedpipefile
This commit is contained in:
parent
8f6b1f2c38
commit
084c2cd90f
@ -697,7 +697,7 @@ pub const ChildProcess = struct {
|
|||||||
// "\Device\Null" or "\??\NUL"
|
// "\Device\Null" or "\??\NUL"
|
||||||
windows.OpenFile(&[_]u16{ '\\', 'D', 'e', 'v', 'i', 'c', 'e', '\\', 'N', 'u', 'l', 'l' }, .{
|
windows.OpenFile(&[_]u16{ '\\', 'D', 'e', 'v', 'i', 'c', 'e', '\\', 'N', 'u', 'l', 'l' }, .{
|
||||||
.access_mask = windows.GENERIC_READ | windows.GENERIC_WRITE | windows.SYNCHRONIZE,
|
.access_mask = windows.GENERIC_READ | windows.GENERIC_WRITE | windows.SYNCHRONIZE,
|
||||||
.share_access = windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE,
|
.share_access = windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE | windows.FILE_SHARE_DELETE,
|
||||||
.sa = &saAttr,
|
.sa = &saAttr,
|
||||||
.creation = windows.OPEN_EXISTING,
|
.creation = windows.OPEN_EXISTING,
|
||||||
}) catch |err| switch (err) {
|
}) catch |err| switch (err) {
|
||||||
|
|||||||
@ -1325,7 +1325,7 @@ pub fn realpathW(self: Dir, pathname: []const u16, out_buffer: []u8) RealPathErr
|
|||||||
const w = windows;
|
const w = windows;
|
||||||
|
|
||||||
const access_mask = w.GENERIC_READ | w.SYNCHRONIZE;
|
const access_mask = w.GENERIC_READ | w.SYNCHRONIZE;
|
||||||
const share_access = w.FILE_SHARE_READ;
|
const share_access = w.FILE_SHARE_READ | w.FILE_SHARE_WRITE | w.FILE_SHARE_DELETE;
|
||||||
const creation = w.FILE_OPEN;
|
const creation = w.FILE_OPEN;
|
||||||
const h_file = blk: {
|
const h_file = blk: {
|
||||||
const res = w.OpenFile(pathname, .{
|
const res = w.OpenFile(pathname, .{
|
||||||
@ -1598,7 +1598,7 @@ fn makeOpenDirAccessMaskW(self: Dir, sub_path_w: [*:0]const u16, access_mask: u3
|
|||||||
&io,
|
&io,
|
||||||
null,
|
null,
|
||||||
w.FILE_ATTRIBUTE_NORMAL,
|
w.FILE_ATTRIBUTE_NORMAL,
|
||||||
w.FILE_SHARE_READ | w.FILE_SHARE_WRITE,
|
w.FILE_SHARE_READ | w.FILE_SHARE_WRITE | w.FILE_SHARE_DELETE,
|
||||||
flags.create_disposition,
|
flags.create_disposition,
|
||||||
w.FILE_DIRECTORY_FILE | w.FILE_SYNCHRONOUS_IO_NONALERT | w.FILE_OPEN_FOR_BACKUP_INTENT | open_reparse_point,
|
w.FILE_DIRECTORY_FILE | w.FILE_SYNCHRONOUS_IO_NONALERT | w.FILE_OPEN_FOR_BACKUP_INTENT | open_reparse_point,
|
||||||
null,
|
null,
|
||||||
|
|||||||
@ -262,7 +262,7 @@ test "File.stat on a File that is a symlink returns Kind.sym_link" {
|
|||||||
&io,
|
&io,
|
||||||
null,
|
null,
|
||||||
windows.FILE_ATTRIBUTE_NORMAL,
|
windows.FILE_ATTRIBUTE_NORMAL,
|
||||||
windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE,
|
windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE | windows.FILE_SHARE_DELETE,
|
||||||
windows.FILE_OPEN,
|
windows.FILE_OPEN,
|
||||||
// FILE_OPEN_REPARSE_POINT is the important thing here
|
// FILE_OPEN_REPARSE_POINT is the important thing here
|
||||||
windows.FILE_OPEN_REPARSE_POINT | windows.FILE_DIRECTORY_FILE | windows.FILE_SYNCHRONOUS_IO_NONALERT | windows.FILE_OPEN_FOR_BACKUP_INTENT,
|
windows.FILE_OPEN_REPARSE_POINT | windows.FILE_DIRECTORY_FILE | windows.FILE_SYNCHRONOUS_IO_NONALERT | windows.FILE_OPEN_FOR_BACKUP_INTENT,
|
||||||
|
|||||||
@ -217,7 +217,7 @@ pub fn CreatePipe(rd: *HANDLE, wr: *HANDLE, sattr: *const SECURITY_ATTRIBUTES) C
|
|||||||
&iosb,
|
&iosb,
|
||||||
null,
|
null,
|
||||||
0,
|
0,
|
||||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||||
FILE_OPEN,
|
FILE_OPEN,
|
||||||
FILE_SYNCHRONOUS_IO_NONALERT,
|
FILE_SYNCHRONOUS_IO_NONALERT,
|
||||||
null,
|
null,
|
||||||
@ -283,7 +283,7 @@ pub fn CreatePipe(rd: *HANDLE, wr: *HANDLE, sattr: *const SECURITY_ATTRIBUTES) C
|
|||||||
&iosb,
|
&iosb,
|
||||||
null,
|
null,
|
||||||
0,
|
0,
|
||||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||||
FILE_OPEN,
|
FILE_OPEN,
|
||||||
FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE,
|
FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE,
|
||||||
null,
|
null,
|
||||||
@ -892,7 +892,7 @@ pub fn ReadLink(dir: ?HANDLE, sub_path_w: []const u16, out_buffer: []u8) ReadLin
|
|||||||
&io,
|
&io,
|
||||||
null,
|
null,
|
||||||
FILE_ATTRIBUTE_NORMAL,
|
FILE_ATTRIBUTE_NORMAL,
|
||||||
FILE_SHARE_READ,
|
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||||
FILE_OPEN,
|
FILE_OPEN,
|
||||||
FILE_OPEN_REPARSE_POINT | FILE_SYNCHRONOUS_IO_NONALERT,
|
FILE_OPEN_REPARSE_POINT | FILE_SYNCHRONOUS_IO_NONALERT,
|
||||||
null,
|
null,
|
||||||
@ -1311,7 +1311,7 @@ pub fn GetFinalPathNameByHandle(
|
|||||||
const mgmt_path_u16 = std.unicode.utf8ToUtf16LeStringLiteral("\\??\\MountPointManager");
|
const mgmt_path_u16 = std.unicode.utf8ToUtf16LeStringLiteral("\\??\\MountPointManager");
|
||||||
const mgmt_handle = OpenFile(mgmt_path_u16, .{
|
const mgmt_handle = OpenFile(mgmt_path_u16, .{
|
||||||
.access_mask = SYNCHRONIZE,
|
.access_mask = SYNCHRONIZE,
|
||||||
.share_access = FILE_SHARE_READ | FILE_SHARE_WRITE,
|
.share_access = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||||
.creation = FILE_OPEN,
|
.creation = FILE_OPEN,
|
||||||
}) catch |err| switch (err) {
|
}) catch |err| switch (err) {
|
||||||
error.IsDir => return error.Unexpected,
|
error.IsDir => return error.Unexpected,
|
||||||
|
|||||||
@ -5403,7 +5403,7 @@ pub fn realpathW(pathname: []const u16, out_buffer: *[max_path_bytes]u8) RealPat
|
|||||||
|
|
||||||
const dir = fs.cwd().fd;
|
const dir = fs.cwd().fd;
|
||||||
const access_mask = w.GENERIC_READ | w.SYNCHRONIZE;
|
const access_mask = w.GENERIC_READ | w.SYNCHRONIZE;
|
||||||
const share_access = w.FILE_SHARE_READ;
|
const share_access = w.FILE_SHARE_READ | w.FILE_SHARE_WRITE | w.FILE_SHARE_DELETE;
|
||||||
const creation = w.FILE_OPEN;
|
const creation = w.FILE_OPEN;
|
||||||
const h_file = blk: {
|
const h_file = blk: {
|
||||||
const res = w.OpenFile(pathname, .{
|
const res = w.OpenFile(pathname, .{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user