updating WASI stdio handle initialization and build options for UVWASI (#4260)

This commit is contained in:
liang.he
2025-05-30 07:42:39 +08:00
committed by GitHub
parent 3580d1a386
commit 207da7b22f
4 changed files with 30 additions and 8 deletions

View File

@ -4128,10 +4128,16 @@ create_module(char *name, char *error_buf, uint32 error_buf_size)
#endif
#if WASM_ENABLE_LIBC_WASI != 0
#if WASM_ENABLE_UVWASI == 0
module->wasi_args.stdio[0] = os_invalid_raw_handle();
module->wasi_args.stdio[1] = os_invalid_raw_handle();
module->wasi_args.stdio[2] = os_invalid_raw_handle();
#endif
#else
module->wasi_args.stdio[0] = os_get_invalid_handle();
module->wasi_args.stdio[1] = os_get_invalid_handle();
module->wasi_args.stdio[2] = os_get_invalid_handle();
#endif /* WASM_ENABLE_UVWASI == 0 */
#endif /* WASM_ENABLE_LIBC_WASI != 0 */
return module;
#if WASM_ENABLE_GC != 0

View File

@ -3886,11 +3886,15 @@ wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst,
init_options.allocator = &uvwasi_allocator;
init_options.argc = argc;
init_options.argv = (const char **)argv;
init_options.in = (stdinfd != -1) ? (uvwasi_fd_t)stdinfd : init_options.in;
init_options.out =
(stdoutfd != -1) ? (uvwasi_fd_t)stdoutfd : init_options.out;
init_options.err =
(stderrfd != -1) ? (uvwasi_fd_t)stderrfd : init_options.err;
init_options.in = (stdinfd != os_get_invalid_handle())
? (uvwasi_fd_t)stdinfd
: init_options.in;
init_options.out = (stdoutfd != os_get_invalid_handle())
? (uvwasi_fd_t)stdoutfd
: init_options.out;
init_options.err = (stderrfd != os_get_invalid_handle())
? (uvwasi_fd_t)stderrfd
: init_options.err;
if (dir_count > 0) {
init_options.preopenc = dir_count;

View File

@ -6404,10 +6404,16 @@ create_module(char *name, char *error_buf, uint32 error_buf_size)
#endif
#if WASM_ENABLE_LIBC_WASI != 0
#if WASM_ENABLE_UVWASI == 0
module->wasi_args.stdio[0] = os_invalid_raw_handle();
module->wasi_args.stdio[1] = os_invalid_raw_handle();
module->wasi_args.stdio[2] = os_invalid_raw_handle();
#endif
#else
module->wasi_args.stdio[0] = os_get_invalid_handle();
module->wasi_args.stdio[1] = os_get_invalid_handle();
module->wasi_args.stdio[2] = os_get_invalid_handle();
#endif /* WASM_ENABLE_UVWASI == 0 */
#endif /* WASM_ENABLE_LIBC_WASI != 0 */
(void)ret;
return module;

View File

@ -3140,10 +3140,16 @@ create_module(char *name, char *error_buf, uint32 error_buf_size)
#endif
#if WASM_ENABLE_LIBC_WASI != 0
#if WASM_ENABLE_LIBC_UVWASI == 0
module->wasi_args.stdio[0] = os_invalid_raw_handle();
module->wasi_args.stdio[1] = os_invalid_raw_handle();
module->wasi_args.stdio[2] = os_invalid_raw_handle();
#endif
#else
module->wasi_args.stdio[0] = os_get_invalid_handle();
module->wasi_args.stdio[1] = os_get_invalid_handle();
module->wasi_args.stdio[2] = os_get_invalid_handle();
#endif /* WASM_ENABLE_UVWASI == 0 */
#endif /* WASM_ENABLE_LIBC_WASI != 0 */
(void)ret;
return module;