From 61656d0e0e8ec894d72232c21c5933d396ef8501 Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Fri, 9 Oct 2026 19:20:27 -0700 Subject: [PATCH] Threaded.windowsCreatePipe: Set READ_ATTRIBUTES flags Without this, the child trying to read the attributes of the stdout/stderr/stdin file (NtQueryInformationFile, NtQueryVolumeInformationFile, etc) would get ACCESS_DENIED. It's not strictly necessary on the server side of the pipe but I don't see a reason not to set it there, too. --- lib/std/Io/Threaded.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/std/Io/Threaded.zig b/lib/std/Io/Threaded.zig index f719bb02a336382a0a8843db52c4ca3fd3406ddf..69cd17326c34178162b08ac6bbf58bdb331f10bc 100644 --- a/lib/std/Io/Threaded.zig +++ b/lib/std/Io/Threaded.zig @@ -17818,6 +17818,7 @@ pub fn windowsCreatePipe(t: *Threaded, options: CreatePipeOptions) ![2]windows.H .READ_DATA = options.inbound, .WRITE_DATA = options.outbound, .WRITE_ATTRIBUTES = true, + .READ_ATTRIBUTES = true, } }, .STANDARD = .{ .SYNCHRONIZE = true }, }, @@ -17860,6 +17861,7 @@ pub fn windowsCreatePipe(t: *Threaded, options: CreatePipeOptions) ![2]windows.H .READ_DATA = options.outbound, .WRITE_DATA = options.inbound, .WRITE_ATTRIBUTES = true, + .READ_ATTRIBUTES = true, } }, .STANDARD = .{ .SYNCHRONIZE = true }, }, -- 2.54.0