authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-09-03 20:59:58+02:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-09-07 22:42:57+02:00
log423f424c278f8ba41e36096a1603403eb33c6284
treeb394fca7be45381baa1aeeb853336d387978f880
parente0167ae0e3f0e6c6a667b372b21c322d47ccd92d

libstd: use windows.GetStdHandle() with stage2_x86_64 backend for now


1 files changed, 12 insertions(+), 0 deletions(-)

lib/std/io.zig+12
...@@ -36,6 +36,10 @@ pub const default_mode: ModeOverride = if (is_async) Mode.evented else .blocking...@@ -36,6 +36,10 @@ pub const default_mode: ModeOverride = if (is_async) Mode.evented else .blocking
3636
37fn getStdOutHandle() os.fd_t {37fn getStdOutHandle() os.fd_t {
38 if (builtin.os.tag == .windows) {38 if (builtin.os.tag == .windows) {
39 if (builtin.zig_backend == .stage2_x86_64) {
40 // TODO: this is just a temporary workaround until we advance x86 backend further along.
41 return os.windows.GetStdHandle(os.windows.STD_OUTPUT_HANDLE) catch os.windows.INVALID_HANDLE_VALUE;
42 }
39 return os.windows.peb().ProcessParameters.hStdOutput;43 return os.windows.peb().ProcessParameters.hStdOutput;
40 }44 }
4145
...@@ -58,6 +62,10 @@ pub fn getStdOut() File {...@@ -58,6 +62,10 @@ pub fn getStdOut() File {
5862
59fn getStdErrHandle() os.fd_t {63fn getStdErrHandle() os.fd_t {
60 if (builtin.os.tag == .windows) {64 if (builtin.os.tag == .windows) {
65 if (builtin.zig_backend == .stage2_x86_64) {
66 // TODO: this is just a temporary workaround until we advance x86 backend further along.
67 return os.windows.GetStdHandle(os.windows.STD_ERROR_HANDLE) catch os.windows.INVALID_HANDLE_VALUE;
68 }
61 return os.windows.peb().ProcessParameters.hStdError;69 return os.windows.peb().ProcessParameters.hStdError;
62 }70 }
6371
...@@ -80,6 +88,10 @@ pub fn getStdErr() File {...@@ -80,6 +88,10 @@ pub fn getStdErr() File {
8088
81fn getStdInHandle() os.fd_t {89fn getStdInHandle() os.fd_t {
82 if (builtin.os.tag == .windows) {90 if (builtin.os.tag == .windows) {
91 if (builtin.zig_backend == .stage2_x86_64) {
92 // TODO: this is just a temporary workaround until we advance x86 backend further along.
93 return os.windows.GetStdHandle(os.windows.STD_INPUT_HANDLE) catch os.windows.INVALID_HANDLE_VALUE;
94 }
83 return os.windows.peb().ProcessParameters.hStdInput;95 return os.windows.peb().ProcessParameters.hStdInput;
84 }96 }
8597