Fix Windows compile error when uvwasi is enabled (#3810)

No need to compile win_file.c when uvwasi is enabled.
This commit is contained in:
Wenyong Huang
2024-09-25 16:43:00 +08:00
committed by GitHub
parent 21330990a8
commit e87f7a920d
5 changed files with 13 additions and 6 deletions

View File

@ -168,12 +168,13 @@ typedef struct windows_dir_stream {
windows_handle *handle;
} windows_dir_stream;
typedef windows_handle *os_file_handle;
typedef windows_dir_stream *os_dir_stream;
#if WASM_ENABLE_UVWASI != 1
#if WASM_ENABLE_UVWASI == 0
typedef windows_handle *os_file_handle;
typedef HANDLE os_raw_file_handle;
#else
typedef uint32_t os_file_handle;
typedef uint32_t os_raw_file_handle;
#endif
@ -190,7 +191,11 @@ typedef uint32_t os_raw_file_handle;
static inline os_file_handle
os_get_invalid_handle(void)
{
#if WASM_ENABLE_UVWASI == 0
return NULL;
#else
return -1;
#endif
}
#ifdef __cplusplus

View File

@ -15,6 +15,9 @@ file (GLOB_RECURSE source_all ${PLATFORM_SHARED_DIR}/*.c
if (NOT WAMR_BUILD_LIBC_WASI EQUAL 1)
list(REMOVE_ITEM source_all ${PLATFORM_SHARED_DIR}/win_file.c)
elseif (WAMR_BUILD_LIBC_UVWASI EQUAL 1)
# uvwasi doesn't need to compile win_file.c
list(REMOVE_ITEM source_all ${PLATFORM_SHARED_DIR}/win_file.c)
else()
include (${CMAKE_CURRENT_LIST_DIR}/../common/libc-util/platform_common_libc_util.cmake)
set(source_all ${source_all} ${PLATFORM_COMMON_LIBC_UTIL_SOURCE})

View File

@ -182,8 +182,8 @@ os_socket_accept(bh_socket_t server_sock, bh_socket_t *sock, void *addr,
(*sock)->type = windows_handle_type_socket;
(*sock)->access_mode = windows_access_mode_read | windows_access_mode_write;
(*sock)->fdflags = 0;
(*sock)->raw.socket =
accept(server_sock->raw.socket, (struct sockaddr *)&addr_tmp, &len);
(*sock)->raw.socket = accept(server_sock->raw.socket,
(struct sockaddr *)&addr_tmp, (int *)&len);
if ((*sock)->raw.socket == INVALID_SOCKET) {
BH_FREE(*sock);