From e65d0cbabebc73f2c9733a7ed158576c9702e71e Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 23 Jun 2013 18:22:57 -0700 Subject: extra: Make test runner compatible with newsched --- src/libstd/rt/util.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/libstd/rt/util.rs') diff --git a/src/libstd/rt/util.rs b/src/libstd/rt/util.rs index 904b2f8bbb9..5219ae1d540 100644 --- a/src/libstd/rt/util.rs +++ b/src/libstd/rt/util.rs @@ -9,8 +9,11 @@ // except according to those terms. use container::Container; +use from_str::FromStr; use iterator::IteratorUtil; use libc; +use option::{Some, None}; +use os; use str::StrSlice; /// Get the number of cores available @@ -24,6 +27,15 @@ pub fn num_cpus() -> uint { } } +/// Get's the number of scheduler threads requested by the environment +/// either `RUST_THREADS` or `num_cpus`. +pub fn default_sched_threads() -> uint { + match os::getenv("RUST_THREADS") { + Some(nstr) => FromStr::from_str(nstr).get(), + None => num_cpus() + } +} + pub fn dumb_println(s: &str) { use io::WriterUtil; let dbg = ::libc::STDERR_FILENO as ::io::fd_t; -- cgit 1.4.1-3-g733a5