wasm-micro-runtime/core/iwasm/common
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
..
arch Add support for universal binaries on OSX (#2060) 2023-03-30 09:53:07 +08:00
iwasm_common.cmake Add support for universal binaries on OSX (#2060) 2023-03-30 09:53:07 +08:00
SConscript Add ia32 support and fix compiling issue for RT-Thread (#730) 2021-09-07 10:20:14 +08:00
wasm_application.c Handle a return from wasi _start function correctly (#2529) 2023-09-08 11:49:04 +08:00
wasm_blocking_op.c Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
wasm_c_api_internal.h wasm-c-api: Fix init/destroy thread env multiple times issue (#1766) 2022-12-05 11:16:14 +08:00
wasm_c_api.c Fix duplicate vector init in wasm_module_validate (#2498) 2023-08-23 12:35:46 +08:00
wasm_exec_env.c Fix multi-threading issues (#2013) 2023-03-08 10:57:22 +08:00
wasm_exec_env.h Implement suspend flags as atomic variable (#2361) 2023-07-21 08:27:09 +08:00
wasm_memory.c Add user to enlarge memory error callback (#2546) 2023-09-13 18:03:49 +08:00
wasm_memory.h Add user to enlarge memory error callback (#2546) 2023-09-13 18:03:49 +08:00
wasm_native.c Implement module instance context APIs (#2436) 2023-09-07 14:54:11 +08:00
wasm_native.h Implement module instance context APIs (#2436) 2023-09-07 14:54:11 +08:00
wasm_runtime_common.c Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
wasm_runtime_common.h Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
wasm_shared_memory.c Fix memory sharing (#2415) 2023-08-04 10:18:13 +08:00
wasm_shared_memory.h Fix memory sharing (#2415) 2023-08-04 10:18:13 +08:00
wasm_suspend_flags.h Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00