about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2012-07-23 19:53:22 -0400
committerBen Blum <bblum@andrew.cmu.edu>2012-07-23 20:09:17 -0400
commite0e9e451e7b102f53bd9d86b638d9c5d7fae3cc8 (patch)
tree549360b7f2f9e428c12c64e2cd7ee2bae967cb86 /src/libstd
parentc7a6a66e4b8c26d25f3eb28010e71ba61aa086b5 (diff)
Convert os/priv/uv to new task_builder interface
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/uv_global_loop.rs11
-rw-r--r--src/libstd/uv_iotask.rs7
2 files changed, 7 insertions, 11 deletions
diff --git a/src/libstd/uv_global_loop.rs b/src/libstd/uv_global_loop.rs
index 4a7962a977f..08096135952 100644
--- a/src/libstd/uv_global_loop.rs
+++ b/src/libstd/uv_global_loop.rs
@@ -8,6 +8,7 @@ import get_gl = get;
 import iotask::{iotask, spawn_iotask};
 import priv::{chan_from_global_ptr, weaken_task};
 import comm::{port, chan, methods, select2, listen};
+import task::task_builder;
 import either::{left, right};
 
 extern mod rustrt {
@@ -39,10 +40,7 @@ fn get_monitor_task_gl() -> iotask unsafe {
            monitor_loop_chan_ptr);
 
     let builder_fn = || {
-        let builder = task::builder();
-        task::unsupervise(builder);
-        task::set_sched_mode(builder, task::single_threaded);
-        builder
+        task::task().sched_mode(task::single_threaded).unlinked()
     };
 
     #debug("before priv::chan_from_global_ptr");
@@ -86,8 +84,7 @@ fn get_monitor_task_gl() -> iotask unsafe {
 }
 
 fn spawn_loop() -> iotask unsafe {
-    let builder = task::builder();
-    do task::add_wrapper(builder) |task_body| {
+    let builder = do task::task().add_wrapper |task_body| {
         fn~(move task_body) {
             // The I/O loop task also needs to be weak so it doesn't keep
             // the runtime alive
@@ -102,7 +99,7 @@ fn spawn_loop() -> iotask unsafe {
                 #debug("global libuv task is leaving weakened state");
             }
         }
-    }
+    };
     spawn_iotask(builder)
 }
 
diff --git a/src/libstd/uv_iotask.rs b/src/libstd/uv_iotask.rs
index d049c6f7c7b..5566c0c8f0f 100644
--- a/src/libstd/uv_iotask.rs
+++ b/src/libstd/uv_iotask.rs
@@ -13,6 +13,7 @@ export exit;
 import libc::c_void;
 import ptr::addr_of;
 import comm::{port, chan, methods, listen};
+import task::task_builder;
 import ll = uv_ll;
 
 /// Used to abstract-away direct interaction with a libuv loop.
@@ -23,13 +24,11 @@ enum iotask {
     })
 }
 
-fn spawn_iotask(-builder: task::builder) -> iotask {
-
-    task::set_sched_mode(builder, task::single_threaded);
+fn spawn_iotask(-task: task::task_builder) -> iotask {
 
     do listen |iotask_ch| {
 
-        do task::run(copy(builder)) {
+        do task.sched_mode(task::single_threaded).spawn {
             #debug("entering libuv task");
             run_loop(iotask_ch);
             #debug("libuv task exiting");