From 3d0e7a7af3eeee433dd942bca01e085d7d5866a7 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 3 Feb 2012 15:18:58 -0800 Subject: [PATCH] rt: Add a field to rust_task to hold its scheduler --- src/rt/rust_builtin.cpp | 2 +- src/rt/rust_task.cpp | 1 + src/rt/rust_task.h | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp index 8ac85c4ece7..bcc3e944711 100644 --- a/src/rt/rust_builtin.cpp +++ b/src/rt/rust_builtin.cpp @@ -417,7 +417,7 @@ start_task(rust_task_id id, fn_env_pair *f) { extern "C" CDECL int sched_threads() { rust_task *task = rust_task_thread::get_task(); - return task->thread->sched->number_of_threads(); + return task->sched->number_of_threads(); } extern "C" CDECL rust_port* diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index 4612a4858d8..150ef1a18c1 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -233,6 +233,7 @@ rust_task::rust_task(rust_task_thread *thread, rust_task_list *state, ref_count(1), stk(NULL), runtime_sp(0), + sched(thread->sched), thread(thread), cache(NULL), kernel(thread->kernel), diff --git a/src/rt/rust_task.h b/src/rt/rust_task.h index 54b2a66d361..7e407b38200 100644 --- a/src/rt/rust_task.h +++ b/src/rt/rust_task.h @@ -72,10 +72,10 @@ rust_task : public kernel_owned, rust_cond RUST_ATOMIC_REFCOUNT(); - // Fields known to the compiler. context ctx; stk_seg *stk; uintptr_t runtime_sp; // Runtime sp while task running. + rust_scheduler *sched; rust_task_thread *thread; rust_crate_cache *cache;