From 7b6e527f440cd7e6f8be2b07cee320ee6ca18786 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 29 Apr 2024 06:41:38 +0200 Subject: Adding upstream version 1.0.1. Signed-off-by: Daniel Baumann --- test cases/wasm/2 threads/meson.build | 10 ++++++++++ test cases/wasm/2 threads/threads.c | 21 +++++++++++++++++++++ test cases/wasm/2 threads/threads.cpp | 13 +++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 test cases/wasm/2 threads/meson.build create mode 100644 test cases/wasm/2 threads/threads.c create mode 100644 test cases/wasm/2 threads/threads.cpp (limited to 'test cases/wasm/2 threads') diff --git a/test cases/wasm/2 threads/meson.build b/test cases/wasm/2 threads/meson.build new file mode 100644 index 0000000..cb682b8 --- /dev/null +++ b/test cases/wasm/2 threads/meson.build @@ -0,0 +1,10 @@ +project( + 'threads', + 'c', 'cpp', + default_options : ['cpp_std=c++11'], +) + +dep_threads = dependency('threads') + +executable('threads-c', 'threads.c', dependencies : dep_threads) +executable('threads-c++', 'threads.cpp', dependencies : dep_threads) diff --git a/test cases/wasm/2 threads/threads.c b/test cases/wasm/2 threads/threads.c new file mode 100644 index 0000000..7b1a46e --- /dev/null +++ b/test cases/wasm/2 threads/threads.c @@ -0,0 +1,21 @@ +#include +#include +#include + +void inthread(void * args) { + sleep(1); + printf("In thread\n"); +} + +int main() { +#ifdef __EMSCRIPTEN_PTHREADS__ + pthread_t thread_id; + printf("Before Thread\n"); + pthread_create(&thread_id, NULL, (void *)*inthread, NULL); + pthread_join(thread_id, NULL); + printf("After Thread\n"); + return 0; +#else +# error "threads not enabled\n" +#endif +} diff --git a/test cases/wasm/2 threads/threads.cpp b/test cases/wasm/2 threads/threads.cpp new file mode 100644 index 0000000..1caa73d --- /dev/null +++ b/test cases/wasm/2 threads/threads.cpp @@ -0,0 +1,13 @@ +#include +#include +#include + +int main(void) { + std::cout << "Before thread" << std::endl; + std::thread t([]() { + sleep(1); + std::cout << "In a thread." << std::endl; + }); + t.join(); + std::cout << "After thread" << std::endl; +} -- cgit v1.2.3