From 5d2b8d43729f3c616f0af0125f05e2cab9d0aae4 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 29 Jul 2013 12:00:55 -0700 Subject: [PATCH] std: Remove PlatformThread spawn mode. Obsolete --- src/libstd/task/mod.rs | 18 ------------ src/libstd/task/spawn.rs | 6 ++-- src/test/run-pass/platform_thread.rs | 44 ---------------------------- 3 files changed, 2 insertions(+), 66 deletions(-) delete mode 100644 src/test/run-pass/platform_thread.rs diff --git a/src/libstd/task/mod.rs b/src/libstd/task/mod.rs index 503085b412b6..c14926ba5a4d 100644 --- a/src/libstd/task/mod.rs +++ b/src/libstd/task/mod.rs @@ -96,13 +96,6 @@ pub enum SchedMode { CurrentScheduler, /// Run task on a specific scheduler ExistingScheduler(Scheduler), - /** - * Tasks are scheduled on the main OS thread - * - * The main OS thread is the thread used to launch the runtime which, - * in most cases, is the process's initial thread as created by the OS. - */ - PlatformThread, /// All tasks run in the same OS thread SingleThreaded, } @@ -1094,17 +1087,6 @@ fn test_avoid_copying_the_body_unlinked() { } } -#[test] -fn test_platform_thread() { - let (po, ch) = stream(); - let mut builder = task(); - builder.sched_mode(PlatformThread); - do builder.spawn { - ch.send(()); - } - po.recv(); -} - #[test] #[ignore(cfg(windows))] #[should_fail] diff --git a/src/libstd/task/spawn.rs b/src/libstd/task/spawn.rs index 020d9487a178..1e4d781c5d24 100644 --- a/src/libstd/task/spawn.rs +++ b/src/libstd/task/spawn.rs @@ -84,7 +84,7 @@ use local_data; use task::local_data_priv::{local_get, local_set, OldHandle}; use task::rt::rust_task; use task::rt; -use task::{Failure, PlatformThread, SchedOpts, SingleThreaded}; +use task::{Failure, SchedOpts, SingleThreaded}; use task::{Success, TaskOpts, TaskResult}; use task::{ExistingScheduler, SchedulerHandle}; use task::unkillable; @@ -808,8 +808,7 @@ fn spawn_raw_oldsched(mut opts: TaskOpts, f: ~fn()) { let num_threads = match opts.mode { DefaultScheduler | CurrentScheduler - | ExistingScheduler(*) - | PlatformThread => 0u, /* Won't be used */ + | ExistingScheduler(*) => 0u, /* Won't be used */ SingleThreaded => 1u, }; @@ -817,7 +816,6 @@ fn spawn_raw_oldsched(mut opts: TaskOpts, f: ~fn()) { let sched_id = match opts.mode { CurrentScheduler => rt::rust_get_sched_id(), ExistingScheduler(SchedulerHandle(id)) => id, - PlatformThread => rt::rust_osmain_sched_id(), _ => rt::rust_new_sched(num_threads) }; rt::rust_new_task_in_sched(sched_id) diff --git a/src/test/run-pass/platform_thread.rs b/src/test/run-pass/platform_thread.rs deleted file mode 100644 index 8569cd30cf51..000000000000 --- a/src/test/run-pass/platform_thread.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2012 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. - -// Jump back and forth between the OS main thread and a new scheduler. -// The OS main scheduler should continue to be available and not terminate -// while it is not in use. - -use std::task; - -pub fn main() { - run(100); -} - -fn run(i: int) { - - info!(i); - - if i == 0 { - return; - } - - let mut builder = task::task(); - builder.sched_mode(task::PlatformThread); - builder.unlinked(); - do builder.spawn { - task::yield(); - let mut builder = task::task(); - builder.sched_mode(task::SingleThreaded); - builder.unlinked(); - do builder.spawn { - task::yield(); - run(i - 1); - task::yield(); - } - task::yield(); - } -}