diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-10-17 21:08:48 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-10-24 14:21:58 -0700 |
| commit | 620ab3853abf99ecea3a3d055f47cd6d06433c95 (patch) | |
| tree | 61f35d294ededfa57258fee32e83b54f7f2e0536 /src/libstd/rt/util.rs | |
| parent | 279c35182050889cba42e4adb1438a7f640fdabd (diff) | |
Test fixes and merge conflicts
Diffstat (limited to 'src/libstd/rt/util.rs')
| -rw-r--r-- | src/libstd/rt/util.rs | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/libstd/rt/util.rs b/src/libstd/rt/util.rs index e859f8e4fdb..070985fb0a5 100644 --- a/src/libstd/rt/util.rs +++ b/src/libstd/rt/util.rs @@ -72,16 +72,22 @@ pub fn default_sched_threads() -> uint { pub fn dumb_println(args: &fmt::Arguments) { use rt::io::native::stdio::stderr; use rt::io::{Writer, io_error, ResourceUnavailable}; + use rt::task::Task; + use rt::local::Local; let mut out = stderr(); - let mut again = true; - do io_error::cond.trap(|e| { - again = e.kind == ResourceUnavailable; - }).inside { - while again { - again = false; - fmt::writeln(&mut out as &mut Writer, args); + if Local::exists(None::<Task>) { + let mut again = true; + do io_error::cond.trap(|e| { + again = e.kind == ResourceUnavailable; + }).inside { + while again { + again = false; + fmt::writeln(&mut out as &mut Writer, args); + } } + } else { + fmt::writeln(&mut out as &mut Writer, args); } } |
