std: Remove PlatformThread spawn mode. Obsolete
This commit is contained in:
parent
85fd75ac47
commit
5d2b8d4372
@ -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]
|
||||
|
@ -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)
|
||||
|
@ -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 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, 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();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user