From 420622b5a793186dfa533e7702913fd5e4764e0f Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Sun, 16 Jan 2022 00:37:54 +0900 Subject: [wasm] add no thread variant for freestanding environment This implementation does nothing around preemptive context switching because there is no native thread. --- thread_none.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 thread_none.h (limited to 'thread_none.h') diff --git a/thread_none.h b/thread_none.h new file mode 100644 index 0000000000..eac2635ca7 --- /dev/null +++ b/thread_none.h @@ -0,0 +1,17 @@ +#ifndef RUBY_THREAD_NONE_H +#define RUBY_THREAD_NONE_H + +#define RB_NATIVETHREAD_LOCK_INIT (void)(0) +#define RB_NATIVETHREAD_COND_INIT (void)(0) + +// no-thread impl doesn't use TLS but define this to avoid using tls key +// based implementation in vm.c +#define RB_THREAD_LOCAL_SPECIFIER + +typedef struct native_thread_data_struct {} native_thread_data_t; + +typedef struct rb_global_vm_lock_struct {} rb_global_vm_lock_t; + +RUBY_EXTERN struct rb_execution_context_struct *ruby_current_ec; + +#endif /* RUBY_THREAD_NONE_H */ -- cgit v1.2.1