summaryrefslogtreecommitdiff
path: root/thread_none.c
diff options
context:
space:
mode:
Diffstat (limited to 'thread_none.c')
-rw-r--r--thread_none.c74
1 files changed, 62 insertions, 12 deletions
diff --git a/thread_none.c b/thread_none.c
index 00004ed4dd..38730df7ba 100644
--- a/thread_none.c
+++ b/thread_none.c
@@ -15,6 +15,10 @@
#include <time.h>
+#if defined(__wasm__) && !defined(__EMSCRIPTEN__)
+# include "wasm/machine.h"
+#endif
+
#define TIME_QUANTUM_MSEC (100)
#define TIME_QUANTUM_USEC (TIME_QUANTUM_MSEC * 1000)
#define TIME_QUANTUM_NSEC (TIME_QUANTUM_USEC * 1000)
@@ -26,7 +30,7 @@ thread_sched_to_running(struct rb_thread_sched *sched, rb_thread_t *th)
}
static void
-thread_sched_to_waiting(struct rb_thread_sched *sched)
+thread_sched_to_waiting(struct rb_thread_sched *sched, rb_thread_t *th)
{
}
@@ -38,7 +42,7 @@ thread_sched_yield(struct rb_thread_sched *sched, rb_thread_t *th)
}
void
-rb_thread_sched_init(struct rb_thread_sched *sched)
+rb_thread_sched_init(struct rb_thread_sched *sched, bool atfork)
{
}
@@ -132,19 +136,17 @@ Init_native_thread(rb_thread_t *main_th)
ruby_thread_set_native(main_th);
}
-static void
-native_thread_destroy(rb_thread_t *th)
-{
-}
-
void
-ruby_init_stack(volatile VALUE *addr)
+ruby_mn_threads_params(void)
{
}
static int
-native_thread_init_stack(rb_thread_t *th)
+native_thread_init_stack(rb_thread_t *th, void *local_in_parent_frame)
{
+#if defined(__wasm__) && !defined(__EMSCRIPTEN__)
+ th->ec->machine.stack_start = (VALUE *)rb_wasm_stack_get_base();
+#endif
return 0; // success
}
@@ -271,9 +273,57 @@ native_fd_select(int n, rb_fdset_t *readfds, rb_fdset_t *writefds, rb_fdset_t *e
return rb_fd_select(n, readfds, writefds, exceptfds, timeout);
}
-static VALUE
-rb_thread_start_unblock_thread(void)
+static bool
+th_has_dedicated_nt(const rb_thread_t *th)
+{
+ return true;
+}
+
+void
+rb_add_running_thread(rb_thread_t *th){
+ // do nothing
+}
+
+void
+rb_del_running_thread(rb_thread_t *th)
+{
+ // do nothing
+}
+
+void
+rb_threadptr_sched_free(rb_thread_t *th)
+{
+ // do nothing
+}
+
+void
+rb_ractor_sched_barrier_start(rb_vm_t *vm, rb_ractor_t *cr)
+{
+ // do nothing
+}
+
+void
+rb_ractor_sched_barrier_join(rb_vm_t *vm, rb_ractor_t *cr)
{
- return Qfalse;
+ // do nothing
}
+
+void
+rb_threadptr_remove(rb_thread_t *th)
+{
+ // do nothing
+}
+
+void
+rb_thread_sched_mark_zombies(rb_vm_t *vm)
+{
+ // do nothing
+}
+
+bool
+rb_thread_lock_native_thread(void)
+{
+ return false;
+}
+
#endif /* THREAD_SYSTEM_DEPENDENT_IMPLEMENTATION */