]> git.lizzy.rs Git - rust.git/commitdiff
std: Remove ManualThreads spawn mode
authorBrian Anderson <banderson@mozilla.com>
Sun, 28 Jul 2013 23:18:12 +0000 (16:18 -0700)
committerBrian Anderson <banderson@mozilla.com>
Tue, 30 Jul 2013 21:23:45 +0000 (14:23 -0700)
src/libextra/sync.rs
src/libstd/task/mod.rs
src/libstd/task/rt.rs
src/libstd/task/spawn.rs
src/rt/rust_builtin.cpp
src/rt/rustrt.def.in

index 743c4347a4b4a36571b907d5cbfdc5e9756aec33..9dde95d0ac402014fc0604a8c5100b205c1865a5 100644 (file)
@@ -890,7 +890,7 @@ fn test_sem_multi_resource() {
     fn test_sem_runtime_friendly_blocking() {
         // Force the runtime to schedule two threads on the same sched_loop.
         // When one blocks, it should schedule the other one.
-        do task::spawn_sched(task::ManualThreads(1)) {
+        do task::spawn_sched(task::SingleThreaded) {
             let s = ~Semaphore::new(1);
             let s2 = ~s.clone();
             let (p,c) = comm::stream();
index df927cb6a7aef4beda47b182664cf9ee75c30e3f..f78b4085cd080435e3d0265f24ebed892068cb6c 100644 (file)
@@ -107,8 +107,6 @@ pub enum SchedMode {
     SingleThreaded,
     /// Tasks are distributed among available CPUs
     ThreadPerTask,
-    /// Tasks are distributed among a fixed number of OS threads
-    ManualThreads(uint),
 }
 
 /**
@@ -932,13 +930,6 @@ fn test_try_fail() {
     }
 }
 
-#[test]
-#[should_fail]
-#[ignore(cfg(windows))]
-fn test_spawn_sched_no_threads() {
-    do spawn_sched(ManualThreads(0u)) { }
-}
-
 #[test]
 fn test_spawn_sched() {
     let (po, ch) = stream::<()>();
@@ -1219,34 +1210,6 @@ fn child_no(x: uint) -> ~fn() {
     task::spawn(child_no(0));
 }
 
-#[test]
-fn test_spawn_thread_on_demand() {
-    let (port, chan) = comm::stream();
-
-    do spawn_sched(ManualThreads(2)) || {
-        unsafe {
-            let max_threads = rt::rust_sched_threads();
-            assert_eq!(max_threads as int, 2);
-            let running_threads = rt::rust_sched_current_nonlazy_threads();
-            assert_eq!(running_threads as int, 1);
-
-            let (port2, chan2) = comm::stream();
-
-            do spawn_sched(CurrentScheduler) || {
-                chan2.send(());
-            }
-
-            let running_threads2 = rt::rust_sched_current_nonlazy_threads();
-            assert_eq!(running_threads2 as int, 2);
-
-            port2.recv();
-            chan.send(());
-        }
-    }
-
-    port.recv();
-}
-
 #[test]
 fn test_simple_newsched_spawn() {
     use rt::test::run_in_newsched_task;
index 3720bc585cc3695282c78a1bb2fe1ea271b46fa2..13c51230dc237d5322beb0e694f18388c8af4d12 100644 (file)
@@ -36,8 +36,6 @@
 
     pub fn rust_get_sched_id() -> sched_id;
     pub fn rust_new_sched(num_threads: libc::uintptr_t) -> sched_id;
-    pub fn rust_sched_threads() -> libc::size_t;
-    pub fn rust_sched_current_nonlazy_threads() -> libc::size_t;
 
     pub fn get_task_id() -> task_id;
     #[rust_stack]
index 61dcc33c629268ca53f93bdc7446d0faf01d6339..7f343a15f94f94fa1acf7e42b9af7ef3ac75e051 100644 (file)
@@ -84,7 +84,7 @@
 use task::local_data_priv::{local_get, local_set, OldHandle};
 use task::rt::rust_task;
 use task::rt;
-use task::{Failure, ManualThreads, PlatformThread, SchedOpts, SingleThreaded};
+use task::{Failure, PlatformThread, SchedOpts, SingleThreaded};
 use task::{Success, TaskOpts, TaskResult, ThreadPerTask};
 use task::{ExistingScheduler, SchedulerHandle};
 use task::unkillable;
@@ -814,12 +814,6 @@ fn new_task_in_sched(opts: SchedOpts) -> *rust_task {
             ThreadPerTask => {
                 fail!("ThreadPerTask scheduling mode unimplemented")
             }
-            ManualThreads(threads) => {
-                if threads == 0u {
-                    fail!("can not create a scheduler with no threads");
-                }
-                threads
-            }
         };
 
         unsafe {
index bcf5575cede4a36624e6e99860f48c63b4dde0a0..3c9bff000ead6cc9f905501bf3354fb9ecc4661e 100644 (file)
@@ -549,18 +549,6 @@ start_task(rust_task *target, fn_env_pair *f) {
     target->start(f->f, f->env, NULL);
 }
 
-extern "C" CDECL size_t
-rust_sched_current_nonlazy_threads() {
-    rust_task *task = rust_get_current_task();
-    return task->sched->number_of_threads();
-}
-
-extern "C" CDECL size_t
-rust_sched_threads() {
-    rust_task *task = rust_get_current_task();
-    return task->sched->max_number_of_threads();
-}
-
 // This is called by an intrinsic on the Rust stack and must run
 // entirely in the red zone. Do not call on the C stack.
 extern "C" CDECL MUST_CHECK bool
index d6692d378baf42c2fd12fd16f7ebf171994eb129..ccbff776dcff2a250b084dbe46af511c01037db8 100644 (file)
@@ -41,8 +41,6 @@ rust_log_console_off
 rust_should_log_console
 rust_set_environ
 rust_unset_sigprocmask
-rust_sched_current_nonlazy_threads
-rust_sched_threads
 rust_set_exit_status
 rust_start
 rust_env_pairs