about summary refs log tree commit diff
path: root/src/lib/task.rs
diff options
context:
space:
mode:
authorEric Holk <eholk@mozilla.com>2011-08-09 16:07:49 -0700
committerEric Holk <eholk@mozilla.com>2011-08-15 09:26:51 -0700
commit39b16077bbcac64eb62f484486c703aed405ef2f (patch)
tree883cd01d305130374bb0438475716982c1c483c2 /src/lib/task.rs
parent04af99ecb0dee1cb3df0032f7e7ba08ffc6c5bd4 (diff)
downloadrust-39b16077bbcac64eb62f484486c703aed405ef2f.tar.gz
rust-39b16077bbcac64eb62f484486c703aed405ef2f.zip
Port ID-based channels.
Diffstat (limited to 'src/lib/task.rs')
-rw-r--r--src/lib/task.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/task.rs b/src/lib/task.rs
index 1936cf20971..a4c164658a7 100644
--- a/src/lib/task.rs
+++ b/src/lib/task.rs
@@ -5,6 +5,7 @@ native "rust" mod rustrt {
     fn unsupervise();
     fn pin_task();
     fn unpin_task();
+    fn get_task_id() -> task_id;
     fn clone_chan(c: *rust_chan) -> *rust_chan;
 
     type rust_chan;
@@ -12,6 +13,12 @@ native "rust" mod rustrt {
     fn set_min_stack(stack_size: uint);
 }
 
+type task_id = int;
+
+fn get_task_id() -> task_id {
+    rustrt::get_task_id()
+}
+
 /**
  * Hints the scheduler to yield this task for a specified ammount of time.
  *
@@ -33,6 +40,7 @@ fn pin() { rustrt::pin_task(); }
 
 fn unpin() { rustrt::unpin_task(); }
 
+// FIXME: remove this
 fn clone_chan[T](c: chan[T]) -> chan[T] {
     let cloned = rustrt::clone_chan(unsafe::reinterpret_cast(c));
     ret unsafe::reinterpret_cast(cloned);