wasm-micro-runtime/core/shared/platform
YAMAMOTO Takashi 444b159963
Implement async termination of blocking thread (#2516)
Send a signal whose handler is no-op to a blocking thread to wake up
the blocking syscall with either EINTR equivalent or partial success.

Unlike the approach taken in the `dev/interrupt_block_insn` branch (that is,
signal + longjmp similarly to `OS_ENABLE_HW_BOUND_CHECK`), this PR
does not use longjmp because:
* longjmp from signal handler doesn't work on nuttx
  refer to https://github.com/apache/nuttx/issues/10326
* the singal+longjmp approach may be too difficult for average programmers
  who might implement host functions to deal with

See also https://github.com/bytecodealliance/wasm-micro-runtime/issues/1910
2023-09-20 18:11:52 +08:00
..
alios Add bh_print_proc_mem() to dump memory info of current process (#1734) 2022-11-25 08:33:44 +08:00
android Fix a compile warning due to missing include (#2293) 2023-06-14 18:39:26 +08:00
common Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
darwin Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
ego Make a workaround for EGO when fstat returns NOT_SUPPORT (#1970) 2023-02-21 11:11:27 +08:00
esp-idf Fix typo for IP address buffer (#2532) 2023-09-07 14:29:52 +08:00
freebsd Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
include Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
linux Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
linux-sgx Fix typo for IP address buffer (#2532) 2023-09-07 14:29:52 +08:00
nuttx Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
riot Add bh_print_proc_mem() to dump memory info of current process (#1734) 2022-11-25 08:33:44 +08:00
rt-thread Add bh_print_proc_mem() to dump memory info of current process (#1734) 2022-11-25 08:33:44 +08:00
vxworks Add mutex initializer for wasm-c-api engine operations (#1656) 2022-10-31 11:48:07 +08:00
windows Fix compile warnings on windows platform (#2208) 2023-05-15 13:48:48 +08:00
zephyr Fix zephyr sample build errors (#1757) 2022-11-28 11:23:51 +08:00
README.md re-org platform APIs, simplify porting process (#201) 2020-03-16 16:43:57 +08:00

This folder contains the platform abstract layer for multiple platforms. To support a new platform, you can simply create a new folder here and implement all the APIs defined in include folder.

Refer to port_wamr.md for how to port WAMR to a target platform.