From 7685e5de941ec0a482218095e4d6cdd2e53375d8 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 6 Feb 2012 21:06:12 -0800 Subject: rt: Refactor the rust_kernel interface a bit --- src/rt/rust.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/rt/rust.cpp') diff --git a/src/rt/rust.cpp b/src/rt/rust.cpp index dacbcee1045..121f3d4bcfc 100644 --- a/src/rt/rust.cpp +++ b/src/rt/rust.cpp @@ -78,8 +78,9 @@ rust_start(uintptr_t main_fn, int argc, char **argv, void* crate_map) { check_claims = env->check_claims; rust_srv *srv = new rust_srv(env); - rust_kernel *kernel = new rust_kernel(srv, env->num_sched_threads); - rust_scheduler *sched = kernel->get_default_scheduler(); + rust_kernel *kernel = new rust_kernel(srv); + rust_sched_id sched_id = kernel->create_scheduler(env->num_sched_threads); + rust_scheduler *sched = kernel->get_scheduler_by_id(sched_id); rust_task_id root_id = sched->create_task(NULL, "main", MAIN_STACK_SIZE); rust_task *root_task = kernel->get_task_by_id(root_id); I(kernel, root_task != NULL); @@ -98,7 +99,7 @@ rust_start(uintptr_t main_fn, int argc, char **argv, void* crate_map) { root_task->deref(); root_task = NULL; - int ret = kernel->start_schedulers(); + int ret = kernel->wait_for_schedulers(); delete args; delete kernel; delete srv; -- cgit 1.4.1-3-g733a5