diff options
| author | Michael Bebenita <mbebenita@mozilla.com> | 2010-08-11 21:23:34 -0700 |
|---|---|---|
| committer | Michael Bebenita <mbebenita@mozilla.com> | 2010-08-11 21:24:04 -0700 |
| commit | 988695a96cee1eb825435260a1874b8daa0e590a (patch) | |
| tree | ee92e117a653c8c6fad100e7416afe5468073ff3 /src/rt/rust_task.cpp | |
| parent | 88d9a79ac8b05c5631efeef6a70dec35480ecaab (diff) | |
| download | rust-988695a96cee1eb825435260a1874b8daa0e590a.tar.gz rust-988695a96cee1eb825435260a1874b8daa0e590a.zip | |
Added support for task sleeping in the scheduler.
Diffstat (limited to 'src/rt/rust_task.cpp')
| -rw-r--r-- | src/rt/rust_task.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index aca8bca75c4..cd38433ed70 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -309,10 +309,16 @@ rust_task::run_on_resume(uintptr_t glue) } void -rust_task::yield(size_t nargs) -{ +rust_task::yield(size_t nargs) { + yield(nargs, 0); +} + +void +rust_task::yield(size_t nargs, size_t time_in_us) { log(rust_log::TASK, - "task %s @0x%" PRIxPTR " yielding", name, this); + "task %s @0x%" PRIxPTR " yielding for %d us", + name, this, time_in_us); + yield_timer.reset(time_in_us); run_after_return(nargs, dom->root_crate->get_yield_glue()); } |
