Skip to content

Commit 4288422

Browse files
committed
syscall: populate wasiStreams map with stdin/stdout/stderr
1 parent 92af9ef commit 4288422

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

src/syscall/libc_wasip2.go

+28-2
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,36 @@ var nextLibcFd = int32(Stderr) + 1
103103
var wasiErrno error
104104

105105
func init() {
106-
// TODO(dgryski): pre-populate with stdin/stdout/stderr
107-
wasiStreams = make(map[int32]*wasiFile)
106+
wasiStreams = map[int32]*wasiFile{
107+
Stdin: &wasiFile{
108+
d: -1,
109+
in: __wasi_cli_stdout_get_stdin(),
110+
out: -1,
111+
},
112+
113+
Stdout: &wasiFile{
114+
d: -1,
115+
in: -1,
116+
out: __wasi_cli_stdout_get_stdout(),
117+
},
118+
119+
Stderr: &wasiFile{
120+
d: -1,
121+
in: -1,
122+
out: __wasi_cli_stdout_get_stdout(),
123+
},
124+
}
108125
}
109126

127+
//go:wasmimport wasi:cli/[email protected] get-stdin
128+
func __wasi_cli_stdout_get_stdin() __wasi_io_streams_input_stream
129+
130+
//go:wasmimport wasi:cli/[email protected] get-stdout
131+
func __wasi_cli_stdout_get_stdout() __wasi_io_streams_output_stream
132+
133+
//go:wasmimport wasi:cli/[email protected] get-stderr
134+
func __wasi_cli_stdout_get_stderr() __wasi_io_streams_output_stream
135+
110136
// ssize_t read(int fd, void *buf, size_t count);
111137
//
112138
//go:export read

0 commit comments

Comments
 (0)