wasm-micro-runtime/samples/wasi-threads
Marcin Kolny 0e2382a959
Disable aux stack allocations for threads spawned by wasi_thread_start (#1867)
This syscall doesn't need allocating stack or TLS and it's expected from the application
to do that instead. E.g. WASI-libc already does this for `pthread_create`.

Also fix some of the examples to allocate memory for stack and not use stack before
the stack pointer is set to a correct value.
2023-01-09 20:36:34 +08:00
..
wasm-apps Disable aux stack allocations for threads spawned by wasi_thread_start (#1867) 2023-01-09 20:36:34 +08:00
CMakeLists.txt Create a placeholder for WASI threads implementation (#1783) 2022-12-06 21:11:27 +08:00
README.md feat(wasi-threads): Add example of exception propagation (#1812) 2022-12-16 14:22:53 +08:00

"WASI threads" sample introduction

Currently, since the wasi-sdk does not have thread support in the latest release, make sure to have wasi-libc installed. Build it with threads enabled, e.g.

make \
    AR=/opt/wasi-sdk/bin/llvm-ar \
    NM=/opt/wasi-sdk/bin/llvm-nm \
    CC=/opt/wasi-sdk/bin/clang \
    THREAD_MODEL=posix

Build and run the samples

$ mkdir build
$ cd build
$ cmake -DWASI_SYSROOT=/path/to/wasi-libc/sysroot ..
$ make
...
$ ./iwasm wasm-apps/no_pthread.wasm
...
$ ./iwasm wasm-apps/exception_propagation.wasm