From b71d629744167aea070298f9039de1b181f8f39e Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Sun, 10 Nov 2013 13:05:36 -0800 Subject: [PATCH] Remove a debug! statement before I/O is ready The logging macros all use libuv-based I/O, and there was one stray debug statement in task::spawn which was executing before the I/O context was ready. Remove it and add a test to make sure that we can continue to debug this sort of code. Closes #10405 --- src/libstd/task/spawn.rs | 1 - src/test/run-pass/spawning-with-debug.rs | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/test/run-pass/spawning-with-debug.rs diff --git a/src/libstd/task/spawn.rs b/src/libstd/task/spawn.rs index a4a43a01edd28..b1d72c063ac8e 100644 --- a/src/libstd/task/spawn.rs +++ b/src/libstd/task/spawn.rs @@ -661,7 +661,6 @@ pub fn spawn_raw(mut opts: TaskOpts, f: ~fn()) { }; new_sched.bootstrap(bootstrap_task); - debug!("enqueing join_task"); // Now tell the original scheduler to join with this thread // by scheduling a thread-joining task on the original scheduler orig_sched_handle.send(TaskFromFriend(join_task)); diff --git a/src/test/run-pass/spawning-with-debug.rs b/src/test/run-pass/spawning-with-debug.rs new file mode 100644 index 0000000000000..f35c5ef022e41 --- /dev/null +++ b/src/test/run-pass/spawning-with-debug.rs @@ -0,0 +1,22 @@ +// Copyright 2013 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// exec-env:RUST_LOG=debug +// xfail-fast + +// regression test for issue #10405, make sure we don't call debug! too soon. + +use std::task; + +fn main() { + let mut t = task::task(); + t.sched_mode(task::SingleThreaded); + t.spawn(|| ()); +}