about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authortoddaaro <github@opprobrio.us>2013-08-01 15:08:51 -0700
committertoddaaro <github@opprobrio.us>2013-08-01 15:38:48 -0700
commit8e98eabce52b29d2e49ce63713ad2e1e04115bab (patch)
treebdb6d50d12751f70db7c3425834f62011b438595 /src/libstd
parent1d82fe5aea71b1c265634f32716b268972141efb (diff)
downloadrust-8e98eabce52b29d2e49ce63713ad2e1e04115bab.tar.gz
rust-8e98eabce52b29d2e49ce63713ad2e1e04115bab.zip
modified local to include an implementation for try_unsafe_borrow::<Task> so that the log methods will work
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/rt/io/net/tcp.rs4
-rw-r--r--src/libstd/rt/local.rs10
-rw-r--r--src/libstd/rt/task.rs1
-rw-r--r--src/libstd/task/mod.rs12
4 files changed, 17 insertions, 10 deletions
diff --git a/src/libstd/rt/io/net/tcp.rs b/src/libstd/rt/io/net/tcp.rs
index 449df8cddea..2daa64e8085 100644
--- a/src/libstd/rt/io/net/tcp.rs
+++ b/src/libstd/rt/io/net/tcp.rs
@@ -380,7 +380,7 @@ mod test {
             }
 
             do spawntask {
-                for max.times {
+                do max.times {
                     let mut stream = TcpStream::connect(addr);
                     stream.write([99]);
                 }
@@ -405,7 +405,7 @@ mod test {
             }
 
             do spawntask {
-                for max.times {
+                do max.times {
                     let mut stream = TcpStream::connect(addr);
                     stream.write([99]);
                 }
diff --git a/src/libstd/rt/local.rs b/src/libstd/rt/local.rs
index 71e60a6a923..7ab63233cff 100644
--- a/src/libstd/rt/local.rs
+++ b/src/libstd/rt/local.rs
@@ -44,7 +44,13 @@ impl Local for Task {
         }
     }
     unsafe fn unsafe_borrow() -> *mut Task { local_ptr::unsafe_borrow() }
-    unsafe fn try_unsafe_borrow() -> Option<*mut Task> { rtabort!("unimpl task try_unsafe_borrow") }
+    unsafe fn try_unsafe_borrow() -> Option<*mut Task> {
+        if Local::exists::<Task>() {
+            Some(Local::unsafe_borrow())
+        } else {
+            None
+        }
+    }
 }
 
 impl Local for Scheduler {
@@ -95,7 +101,7 @@ impl Local for Scheduler {
         }
     }
     unsafe fn try_unsafe_borrow() -> Option<*mut Scheduler> {
-        if Local::exists::<Task>() {
+        if Local::exists::<Scheduler>() {
             Some(Local::unsafe_borrow())
         } else {
             None
diff --git a/src/libstd/rt/task.rs b/src/libstd/rt/task.rs
index fcc6ebeada6..23a0d28e457 100644
--- a/src/libstd/rt/task.rs
+++ b/src/libstd/rt/task.rs
@@ -129,6 +129,7 @@ impl Task {
             death: Death::new(),
             destroyed: false,
             coroutine: Some(Coroutine::empty()),
+            name: None,
             sched: None,
             task_type: SchedTask
         }
diff --git a/src/libstd/task/mod.rs b/src/libstd/task/mod.rs
index 5e4d48403cc..7a864ecb867 100644
--- a/src/libstd/task/mod.rs
+++ b/src/libstd/task/mod.rs
@@ -685,7 +685,7 @@ fn test_spawn_unlinked_unsup_no_fail_down() { // grandchild sends on a port
             let ch = ch.clone();
             do spawn_unlinked {
                 // Give middle task a chance to fail-but-not-kill-us.
-                for 16.times { task::yield(); }
+                do 16.times { task::yield(); }
                 ch.send(()); // If killed first, grandparent hangs.
             }
             fail!(); // Shouldn't kill either (grand)parent or (grand)child.
@@ -706,7 +706,7 @@ fn test_spawn_unlinked_sup_no_fail_up() { // child unlinked fails
     do run_in_newsched_task {
         do spawn_supervised { fail!(); }
         // Give child a chance to fail-but-not-kill-us.
-        for 16.times { task::yield(); }
+        do 16.times { task::yield(); }
     }
 }
 #[test] #[ignore(cfg(windows))]
@@ -808,7 +808,7 @@ fn test_spawn_failure_propagate_grandchild() {
             do spawn_supervised {
                 do spawn_supervised { block_forever(); }
             }
-            for 16.times { task::yield(); }
+            do 16.times { task::yield(); }
             fail!();
         };
         assert!(result.is_err());
@@ -824,7 +824,7 @@ fn test_spawn_failure_propagate_secondborn() {
             do spawn_supervised {
                 do spawn { block_forever(); } // linked
             }
-            for 16.times { task::yield(); }
+            do 16.times { task::yield(); }
             fail!();
         };
         assert!(result.is_err());
@@ -840,7 +840,7 @@ fn test_spawn_failure_propagate_nephew_or_niece() {
             do spawn { // linked
                 do spawn_supervised { block_forever(); }
             }
-            for 16.times { task::yield(); }
+            do 16.times { task::yield(); }
             fail!();
         };
         assert!(result.is_err());
@@ -856,7 +856,7 @@ fn test_spawn_linked_sup_propagate_sibling() {
             do spawn { // linked
                 do spawn { block_forever(); } // linked
             }
-            for 16.times { task::yield(); }
+            do 16.times { task::yield(); }
             fail!();
         };
         assert!(result.is_err());