diff options
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/io.zig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/std/io.zig b/lib/std/io.zig index 50d134b856..d878afd3ae 100644 --- a/lib/std/io.zig +++ b/lib/std/io.zig @@ -36,6 +36,10 @@ pub const default_mode: ModeOverride = if (is_async) Mode.evented else .blocking fn getStdOutHandle() os.fd_t { if (builtin.os.tag == .windows) { + if (builtin.zig_backend == .stage2_x86_64) { + // TODO: this is just a temporary workaround until we advance x86 backend further along. + return os.windows.GetStdHandle(os.windows.STD_OUTPUT_HANDLE) catch os.windows.INVALID_HANDLE_VALUE; + } return os.windows.peb().ProcessParameters.hStdOutput; } @@ -58,6 +62,10 @@ pub fn getStdOut() File { fn getStdErrHandle() os.fd_t { if (builtin.os.tag == .windows) { + if (builtin.zig_backend == .stage2_x86_64) { + // TODO: this is just a temporary workaround until we advance x86 backend further along. + return os.windows.GetStdHandle(os.windows.STD_ERROR_HANDLE) catch os.windows.INVALID_HANDLE_VALUE; + } return os.windows.peb().ProcessParameters.hStdError; } @@ -80,6 +88,10 @@ pub fn getStdErr() File { fn getStdInHandle() os.fd_t { if (builtin.os.tag == .windows) { + if (builtin.zig_backend == .stage2_x86_64) { + // TODO: this is just a temporary workaround until we advance x86 backend further along. + return os.windows.GetStdHandle(os.windows.STD_INPUT_HANDLE) catch os.windows.INVALID_HANDLE_VALUE; + } return os.windows.peb().ProcessParameters.hStdInput; } |
