about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-05-03 13:21:33 -0700
committerPatrick Walton <pcwalton@mimiga.net>2013-05-08 17:03:59 -0700
commit803a4f45fa5b581155e638143afb97195cfa9f2e (patch)
tree4e51e0e0327225a58a4a5326aa5dd974a1a2290a /src/libstd
parent226ee7d86f2d8eab17537b5ba3a393dfae1cf14e (diff)
downloadrust-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.rs4
-rw-r--r--src/libstd/test.rs9
-rw-r--r--src/libstd/uv_global_loop.rs11
-rw-r--r--src/libstd/uv_iotask.rs6
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");