about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2013-09-22 13:48:23 -0400
committerDaniel Micay <danielmicay@gmail.com>2013-09-22 13:52:32 -0400
commit11a8b3d028496878155f1ae6925fd84411b99dd6 (patch)
tree5f85536a6ff8d0cd45c38eda5b9fdd8595ec8f2c
parent5f6a8ae96617081cbef81f0f336e706ad6d341e9 (diff)
downloadrust-11a8b3d028496878155f1ae6925fd84411b99dd6.tar.gz
rust-11a8b3d028496878155f1ae6925fd84411b99dd6.zip
disable scheduler starvation test on valgrind
-rw-r--r--src/libstd/rt/sched.rs22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/libstd/rt/sched.rs b/src/libstd/rt/sched.rs
index 9c6c53c2064..87b39f06dcf 100644
--- a/src/libstd/rt/sched.rs
+++ b/src/libstd/rt/sched.rs
@@ -1215,18 +1215,22 @@ mod test {
     #[test]
     fn dont_starve_1() {
         use rt::comm::oneshot;
+        use unstable::running_on_valgrind;
 
-        do stress_factor().times {
-            do run_in_mt_newsched_task {
-                let (port, chan) = oneshot();
+        // FIXME: #9407: should work while serialized on valgrind
+        if !running_on_valgrind() {
+            do stress_factor().times {
+                do run_in_mt_newsched_task {
+                    let (port, chan) = oneshot();
 
-                // This task should not be able to starve the sender;
-                // The sender should get stolen to another thread.
-                do spawntask {
-                    while !port.peek() { }
-                }
+                    // This task should not be able to starve the sender;
+                    // The sender should get stolen to another thread.
+                    do spawntask {
+                        while !port.peek() { }
+                    }
 
-                chan.send(());
+                    chan.send(());
+                }
             }
         }
     }