diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp index 6f45227bb8b..662ec3318d5 100644 --- a/src/rt/rust_builtin.cpp +++ b/src/rt/rust_builtin.cpp @@ -863,6 +863,11 @@ set_min_stack(rust_task *task, uintptr_t stack_size) { g_custom_min_stack_size = stack_size; } +extern "C" CDECL int +sched_threads(rust_task *task) { + return task->kernel->num_threads; +} + // // Local Variables: // mode: C++ diff --git a/src/rt/rust_kernel.h b/src/rt/rust_kernel.h index 66196e19684..45624765a8e 100644 --- a/src/rt/rust_kernel.h +++ b/src/rt/rust_kernel.h @@ -16,8 +16,6 @@ public: private: lock_and_signal _kernel_lock; - const size_t num_threads; - array_list threads; randctx rctx; @@ -30,10 +28,10 @@ private: public: + const size_t num_threads; int rval; volatile int live_tasks; - struct rust_env *env; rust_kernel(rust_srv *srv, size_t num_threads); diff --git a/src/rt/rustrt.def.in b/src/rt/rustrt.def.in index d6c218d936d..ffe2a822828 100644 --- a/src/rt/rustrt.def.in +++ b/src/rt/rustrt.def.in @@ -38,6 +38,7 @@ rust_run_program rust_start rust_getcwd set_min_stack +sched_threads size_of squareroot str_alloc