Skip to content

Commit 5037c12

Browse files
committed
updating WASI stdio handle initialization and build options for UVWASI
1 parent 216404d commit 5037c12

5 files changed

Lines changed: 25 additions & 8 deletions

File tree

.github/workflows/compilation_on_android_ubuntu.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ jobs:
164164
"-DWAMR_BUILD_MEMORY64=1",
165165
"-DWAMR_BUILD_MULTI_MEMORY=1",
166166
"-DWAMR_BUILD_SHARED=1",
167+
"-DWAMR_BUILD_LIBC_UVWASI=1",
167168
]
168169
os: [ubuntu-22.04]
169170
platform: [android, linux]

core/iwasm/aot/aot_loader.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4127,10 +4127,14 @@ create_module(char *name, char *error_buf, uint32 error_buf_size)
41274127
}
41284128
#endif
41294129

4130-
#if WASM_ENABLE_LIBC_WASI != 0
4130+
#if WASM_ENABLE_UVWASI == 0
41314131
module->wasi_args.stdio[0] = os_invalid_raw_handle();
41324132
module->wasi_args.stdio[1] = os_invalid_raw_handle();
41334133
module->wasi_args.stdio[2] = os_invalid_raw_handle();
4134+
#else
4135+
module->wasi_args.stdio[0] = os_get_invalid_handle();
4136+
module->wasi_args.stdio[1] = os_get_invalid_handle();
4137+
module->wasi_args.stdio[2] = os_get_invalid_handle();
41344138
#endif
41354139

41364140
return module;

core/iwasm/common/wasm_runtime_common.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3877,11 +3877,15 @@ wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst,
38773877
init_options.allocator = &uvwasi_allocator;
38783878
init_options.argc = argc;
38793879
init_options.argv = (const char **)argv;
3880-
init_options.in = (stdinfd != -1) ? (uvwasi_fd_t)stdinfd : init_options.in;
3881-
init_options.out =
3882-
(stdoutfd != -1) ? (uvwasi_fd_t)stdoutfd : init_options.out;
3883-
init_options.err =
3884-
(stderrfd != -1) ? (uvwasi_fd_t)stderrfd : init_options.err;
3880+
init_options.in = (stdinfd != os_get_invalid_handle())
3881+
? (uvwasi_fd_t)stdinfd
3882+
: init_options.in;
3883+
init_options.out = (stdoutfd != os_get_invalid_handle())
3884+
? (uvwasi_fd_t)stdoutfd
3885+
: init_options.out;
3886+
init_options.err = (stderrfd != os_get_invalid_handle())
3887+
? (uvwasi_fd_t)stderrfd
3888+
: init_options.err;
38853889

38863890
if (dir_count > 0) {
38873891
init_options.preopenc = dir_count;

core/iwasm/interpreter/wasm_loader.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6376,10 +6376,14 @@ create_module(char *name, char *error_buf, uint32 error_buf_size)
63766376
}
63776377
#endif
63786378

6379-
#if WASM_ENABLE_LIBC_WASI != 0
6379+
#if WASM_ENABLE_UVWASI == 0
63806380
module->wasi_args.stdio[0] = os_invalid_raw_handle();
63816381
module->wasi_args.stdio[1] = os_invalid_raw_handle();
63826382
module->wasi_args.stdio[2] = os_invalid_raw_handle();
6383+
#else
6384+
module->wasi_args.stdio[0] = os_get_invalid_handle();
6385+
module->wasi_args.stdio[1] = os_get_invalid_handle();
6386+
module->wasi_args.stdio[2] = os_get_invalid_handle();
63836387
#endif
63846388

63856389
(void)ret;

core/iwasm/interpreter/wasm_mini_loader.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3137,10 +3137,14 @@ create_module(char *name, char *error_buf, uint32 error_buf_size)
31373137
}
31383138
#endif
31393139

3140-
#if WASM_ENABLE_LIBC_WASI != 0
3140+
#if WASM_ENABLE_LIBC_UVWASI == 0
31413141
module->wasi_args.stdio[0] = os_invalid_raw_handle();
31423142
module->wasi_args.stdio[1] = os_invalid_raw_handle();
31433143
module->wasi_args.stdio[2] = os_invalid_raw_handle();
3144+
#else
3145+
module->wasi_args.stdio[0] = os_get_invalid_handle();
3146+
module->wasi_args.stdio[1] = os_get_invalid_handle();
3147+
module->wasi_args.stdio[2] = os_get_invalid_handle();
31443148
#endif
31453149

31463150
(void)ret;

0 commit comments

Comments
 (0)