about summary refs log tree commit diff
path: root/src/rt/rust.cpp
diff options
context:
space:
mode:
authorunknown <Eric@.(none)>2011-08-08 13:38:20 -0700
committerEric Holk <eholk@mozilla.com>2011-08-08 16:55:38 -0700
commit44bef5f2cb175769155d92ec65bd6b16e6708a1e (patch)
treed7524b51e2af0cb191cd93cda3f282ac4ac8f4c6 /src/rt/rust.cpp
parentf4f057ced1f4152575571a6e5116e1ad5bb38beb (diff)
downloadrust-44bef5f2cb175769155d92ec65bd6b16e6708a1e.tar.gz
rust-44bef5f2cb175769155d92ec65bd6b16e6708a1e.zip
Introduced task handles.
This is the new way to refer to tasks in rust-land. Currently all they
do is serve as a key to look up the old rust_task structure. Ideally
they won't be ref counted, but baby steps.
Diffstat (limited to 'src/rt/rust.cpp')
-rw-r--r--src/rt/rust.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rt/rust.cpp b/src/rt/rust.cpp
index 42deca7b2cd..a94eb6c1a24 100644
--- a/src/rt/rust.cpp
+++ b/src/rt/rust.cpp
@@ -93,7 +93,9 @@ rust_start(uintptr_t main_fn, int argc, char **argv, void* crate_map) {
 
     rust_srv *srv = new rust_srv(env);
     rust_kernel *kernel = new rust_kernel(srv, env->num_sched_threads);
-    rust_task *root_task = kernel->create_task(NULL, "main");
+    rust_task_id root_id = kernel->create_task(NULL, "main");
+    rust_task *root_task = kernel->get_task_by_id(root_id);
+    I(kernel, root_task != NULL);
     rust_scheduler *sched = root_task->sched;
     command_line_args *args
         = new (kernel, "main command line args")