wasi-libc uses `memory.atomic.wait32` in [`__wasilibc_futex_wait`](https://github.com/WebAssembly/wasi-libc/blob/574b88da481569b65a237cb80daf9a2d5aeaf82d/libc-top-half/musl/src/thread/__wait.c#L14), which is called by several functions in wasi-libc including `malloc`, `fwrite`, and etc. However, the use of `memory.atomic.wait32` on the Web browser main thread (and also [Audio Worklet](https://github.com/emscripten-core/emscripten/blob/f615920e160c2d18f4cefa637c45745f0ffdff73/src/library_wasm_worker.js#L105)) is prohibited. We need to do something Emscripten is doing in wasi-libc side. https://github.com/emscripten-core/emscripten/blob/058a9fff/system/lib/pthread/emscripten_futex_wait.c#L111-L150 - [x] Enable pthread-related tests: https://github.com/WebAssembly/wasi-libc/pull/560 - [x] Add a new harness for browser testing: https://github.com/WebAssembly/wasi-libc/pull/563 - [ ] busywait-based futex: https://github.com/WebAssembly/wasi-libc/pull/562