diff options
Diffstat (limited to 'src/lib/task.rs')
| -rw-r--r-- | src/lib/task.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/lib/task.rs b/src/lib/task.rs new file mode 100644 index 00000000000..0173143cda2 --- /dev/null +++ b/src/lib/task.rs @@ -0,0 +1,31 @@ +native "rust" mod rustrt { + fn task_sleep(uint time_in_us); + fn task_yield(); +} + +/** + * Hints the scheduler to yield this task for a specified ammount of time. + * + * arg: time_in_us maximum number of microseconds to yield control for + */ +fn sleep(uint time_in_us) { + ret rustrt::task_sleep(time_in_us); +} + +fn yield() { + ret rustrt::task_yield(); +} + +fn join(task t) { + // TODO: figure out how to pass tasks to the runtime and call the builtin + // join. +} + +// Local Variables: +// mode: rust; +// fill-column: 78; +// indent-tabs-mode: nil +// c-basic-offset: 4 +// buffer-file-coding-system: utf-8-unix +// compile-command: "make -k -C .. 2>&1 | sed -e 's/\\/x\\//x:\\//g'"; +// End: |
