diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-05-03 13:21:33 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-05-08 17:03:59 -0700 |
| commit | 803a4f45fa5b581155e638143afb97195cfa9f2e (patch) | |
| tree | 4e51e0e0327225a58a4a5326aa5dd974a1a2290a /src/libstd | |
| parent | 226ee7d86f2d8eab17537b5ba3a393dfae1cf14e (diff) | |
| download | rust-803a4f45fa5b581155e638143afb97195cfa9f2e.tar.gz rust-803a4f45fa5b581155e638143afb97195cfa9f2e.zip | |
libcore: Remove mutable fields from the task builder API
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/task_pool.rs | 4 | ||||
| -rw-r--r-- | src/libstd/test.rs | 9 | ||||
| -rw-r--r-- | src/libstd/uv_global_loop.rs | 11 | ||||
| -rw-r--r-- | src/libstd/uv_iotask.rs | 6 |
4 files changed, 20 insertions, 10 deletions
diff --git a/src/libstd/task_pool.rs b/src/libstd/task_pool.rs index 661247df1c1..0c52e1ff80e 100644 --- a/src/libstd/task_pool.rs +++ b/src/libstd/task_pool.rs @@ -70,7 +70,9 @@ pub impl<T> TaskPool<T> { task::spawn(task_body); } Some(sched_mode) => { - task::task().sched_mode(sched_mode).spawn(task_body); + let mut task = task::task(); + task.sched_mode(sched_mode); + task.spawn(task_body); } } diff --git a/src/libstd/test.rs b/src/libstd/test.rs index 7c0673a280b..b3523b8ad80 100644 --- a/src/libstd/test.rs +++ b/src/libstd/test.rs @@ -556,9 +556,12 @@ pub fn run_test(force_ignore: bool, let testfn_cell = ::core::cell::Cell(testfn); do task::spawn { let mut result_future = None; // task::future_result(builder); - task::task().unlinked().future_result(|+r| { - result_future = Some(r); - }).spawn(testfn_cell.take()); + + let mut task = task::task(); + task.unlinked(); + task.future_result(|+r| { result_future = Some(r) }); + task.spawn(testfn_cell.take()); + let task_result = result_future.unwrap().recv(); let test_result = calc_result(&desc, task_result == task::Success); diff --git a/src/libstd/uv_global_loop.rs b/src/libstd/uv_global_loop.rs index e49cee434f8..e1b7eb61505 100644 --- a/src/libstd/uv_global_loop.rs +++ b/src/libstd/uv_global_loop.rs @@ -62,7 +62,9 @@ fn get_monitor_task_gl() -> IoTask { } }; if installed { - do task().unlinked().spawn() { + let mut task = task(); + task.unlinked(); + do task.spawn { unsafe { debug!("global monitor task starting"); // As a weak task the runtime will notify us @@ -88,7 +90,9 @@ fn get_monitor_task_gl() -> IoTask { } fn spawn_loop() -> IoTask { - let builder = do task().add_wrapper |task_body| { + let mut builder = task(); + + do builder.add_wrapper |task_body| { let result: ~fn() = || { // The I/O loop task also needs to be weak so it doesn't keep // the runtime alive @@ -107,7 +111,8 @@ fn spawn_loop() -> IoTask { }; result }; - let builder = builder.unlinked(); + + builder.unlinked(); spawn_iotask(builder) } diff --git a/src/libstd/uv_iotask.rs b/src/libstd/uv_iotask.rs index e19010e8552..83e95a6e199 100644 --- a/src/libstd/uv_iotask.rs +++ b/src/libstd/uv_iotask.rs @@ -36,11 +36,11 @@ impl Clone for IoTask { } } -pub fn spawn_iotask(task: task::TaskBuilder) -> IoTask { - +pub fn spawn_iotask(mut task: task::TaskBuilder) -> IoTask { let (iotask_port, iotask_chan) = stream(); - do task.sched_mode(task::SingleThreaded).spawn { + task.sched_mode(task::SingleThreaded); + do task.spawn { debug!("entering libuv task"); run_loop(&iotask_chan); debug!("libuv task exiting"); |
