about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2013-05-19 16:10:44 -0700
committerBrian Anderson <banderson@mozilla.com>2013-05-20 15:21:29 -0700
commit2f99fb8efad8803801628a507fe3ac06a70c7871 (patch)
tree4d758ebb7bc9915d7caf8f651df8350c6219686d
parent06f1a64bd6e417b73f1b812b860271e86bb42b47 (diff)
downloadrust-2f99fb8efad8803801628a507fe3ac06a70c7871.tar.gz
rust-2f99fb8efad8803801628a507fe3ac06a70c7871.zip
core::rt: Remove local_sched module
-rw-r--r--src/libcore/rt/comm.rs1
-rw-r--r--src/libcore/rt/io/net/tcp.rs2
-rw-r--r--src/libcore/rt/local_sched.rs32
-rw-r--r--src/libcore/rt/mod.rs7
-rw-r--r--src/libcore/rt/sched.rs10
-rw-r--r--src/libcore/rt/task.rs2
-rw-r--r--src/libcore/rt/tube.rs2
-rw-r--r--src/libcore/rt/uv/uvio.rs17
8 files changed, 20 insertions, 53 deletions
diff --git a/src/libcore/rt/comm.rs b/src/libcore/rt/comm.rs
index 544d9817558..576a402b709 100644
--- a/src/libcore/rt/comm.rs
+++ b/src/libcore/rt/comm.rs
@@ -22,7 +22,6 @@ use ops::Drop;
 use kinds::Owned;
 use rt::sched::{Scheduler, Coroutine};
 use rt::local::Local;
-use rt::local_sched;
 use unstable::intrinsics::{atomic_xchg, atomic_load};
 use util::Void;
 use comm::{GenericChan, GenericSmartChan, GenericPort, Peekable};
diff --git a/src/libcore/rt/io/net/tcp.rs b/src/libcore/rt/io/net/tcp.rs
index a5fd7a395de..d9003419981 100644
--- a/src/libcore/rt/io/net/tcp.rs
+++ b/src/libcore/rt/io/net/tcp.rs
@@ -10,7 +10,7 @@
 
 use option::{Option, Some, None};
 use result::{Ok, Err};
-use rt::sched::local_sched::unsafe_borrow_io;
+use rt::sched::unsafe_borrow_io;
 use rt::io::net::ip::IpAddr;
 use rt::io::{Reader, Writer, Listener};
 use rt::io::{io_error, read_error, EndOfFile};
diff --git a/src/libcore/rt/local_sched.rs b/src/libcore/rt/local_sched.rs
deleted file mode 100644
index 48e3351c44f..00000000000
--- a/src/libcore/rt/local_sched.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// 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 <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.
-
-//! Access to the thread-local Scheduler
-
-use prelude::*;
-use ptr::mut_null;
-use libc::c_void;
-use cast;
-use cell::Cell;
-
-use rt::sched::Scheduler;
-use rt::rtio::{EventLoop, IoFactoryObject};
-use unstable::finally::Finally;
-use rt::local_ptr;
-use tls = rt::thread_local_storage;
-use rt::local::Local;
-
-#[cfg(test)] use rt::uv::uvio::UvEventLoop;
-
-pub unsafe fn unsafe_borrow_io() -> *mut IoFactoryObject {
-    let sched = Local::unsafe_borrow::<Scheduler>();
-    let io: *mut IoFactoryObject = (*sched).event_loop.io().unwrap();
-    return io;
-}
diff --git a/src/libcore/rt/mod.rs b/src/libcore/rt/mod.rs
index c8532f6b94a..2fac1df01a4 100644
--- a/src/libcore/rt/mod.rs
+++ b/src/libcore/rt/mod.rs
@@ -67,9 +67,6 @@ pub mod task;
 /// The coroutine task scheduler, built on the `io` event loop.
 mod sched;
 
-/// Thread-local access to the current Scheduler.
-pub mod local_sched;
-
 /// Synchronous I/O.
 #[path = "io/mod.rs"]
 pub mod io;
@@ -189,7 +186,7 @@ pub fn context() -> RuntimeContext {
 
     use task::rt::rust_task;
     use self::local::Local;
-    use self::sched::{local_sched, Scheduler};
+    use self::sched::Scheduler;
 
     // XXX: Hitting TLS twice to check if the scheduler exists
     // then to check for the task is not good for perf
@@ -220,7 +217,7 @@ pub fn context() -> RuntimeContext {
 #[test]
 fn test_context() {
     use unstable::run_in_bare_thread;
-    use self::sched::{local_sched, Scheduler, Coroutine};
+    use self::sched::{Scheduler, Coroutine};
     use rt::uv::uvio::UvEventLoop;
     use cell::Cell;
     use rt::local::Local;
diff --git a/src/libcore/rt/sched.rs b/src/libcore/rt/sched.rs
index 0004ef29de0..20c24adaa0a 100644
--- a/src/libcore/rt/sched.rs
+++ b/src/libcore/rt/sched.rs
@@ -20,9 +20,7 @@ use super::context::Context;
 use super::task::Task;
 use rt::local_ptr;
 use rt::local::Local;
-
-// A more convenient name for external callers, e.g. `local_sched::take()`
-pub mod local_sched;
+use rt::rtio::IoFactoryObject;
 
 /// The Scheduler is responsible for coordinating execution of Coroutines
 /// on a single thread. When the scheduler is running it is owned by
@@ -403,6 +401,12 @@ pub impl Coroutine {
     }
 }
 
+pub unsafe fn unsafe_borrow_io() -> *mut IoFactoryObject {
+    let sched = Local::unsafe_borrow::<Scheduler>();
+    let io: *mut IoFactoryObject = (*sched).event_loop.io().unwrap();
+    return io;
+}
+
 #[cfg(test)]
 mod test {
     use int;
diff --git a/src/libcore/rt/task.rs b/src/libcore/rt/task.rs
index cfb5b965860..3f98ad74ef2 100644
--- a/src/libcore/rt/task.rs
+++ b/src/libcore/rt/task.rs
@@ -16,7 +16,7 @@
 use prelude::*;
 use libc::{c_void, uintptr_t};
 use cast::transmute;
-use super::sched::{Scheduler, local_sched};
+use super::sched::Scheduler;
 use rt::local::Local;
 use super::local_heap::LocalHeap;
 use rt::logging::StdErrLogger;
diff --git a/src/libcore/rt/tube.rs b/src/libcore/rt/tube.rs
index 2e6dc64986e..b2f475a6966 100644
--- a/src/libcore/rt/tube.rs
+++ b/src/libcore/rt/tube.rs
@@ -18,7 +18,6 @@ use clone::Clone;
 use super::rc::RC;
 use rt::sched::{Scheduler, Coroutine};
 use rt::{context, TaskContext, SchedulerContext};
-use rt::local_sched;
 use rt::local::Local;
 use vec::OwnedVector;
 use container::Container;
@@ -95,7 +94,6 @@ impl<T> Clone for Tube<T> {
 mod test {
     use int;
     use cell::Cell;
-    use rt::local_sched;
     use rt::test::*;
     use rt::rtio::EventLoop;
     use rt::sched::Scheduler;
diff --git a/src/libcore/rt/uv/uvio.rs b/src/libcore/rt/uv/uvio.rs
index e83ab0dd808..b89dfcab3d3 100644
--- a/src/libcore/rt/uv/uvio.rs
+++ b/src/libcore/rt/uv/uvio.rs
@@ -19,7 +19,8 @@ use rt::io::net::ip::IpAddr;
 use rt::uv::*;
 use rt::uv::idle::IdleWatcher;
 use rt::rtio::*;
-use rt::sched::{Scheduler, local_sched};
+use rt::sched::unsafe_borrow_io;
+use rt::sched::Scheduler;
 use rt::io::{standard_error, OtherIoError};
 use rt::tube::Tube;
 use rt::local::Local;
@@ -358,7 +359,7 @@ impl RtioTcpStream for UvTcpStream {
 fn test_simple_io_no_connect() {
     do run_in_newsched_task {
         unsafe {
-            let io = local_sched::unsafe_borrow_io();
+            let io = unsafe_borrow_io();
             let addr = next_test_ip4();
             let maybe_chan = (*io).tcp_connect(addr);
             assert!(maybe_chan.is_err());
@@ -374,7 +375,7 @@ fn test_simple_tcp_server_and_client() {
         // Start the server first so it's listening when we connect
         do spawntask_immediately {
             unsafe {
-                let io = local_sched::unsafe_borrow_io();
+                let io = unsafe_borrow_io();
                 let mut listener = (*io).tcp_bind(addr).unwrap();
                 let mut stream = listener.accept().unwrap();
                 let mut buf = [0, .. 2048];
@@ -389,7 +390,7 @@ fn test_simple_tcp_server_and_client() {
 
         do spawntask_immediately {
             unsafe {
-                let io = local_sched::unsafe_borrow_io();
+                let io = unsafe_borrow_io();
                 let mut stream = (*io).tcp_connect(addr).unwrap();
                 stream.write([0, 1, 2, 3, 4, 5, 6, 7]);
             }
@@ -403,7 +404,7 @@ fn test_read_and_block() {
         let addr = next_test_ip4();
 
         do spawntask_immediately {
-            let io = unsafe { local_sched::unsafe_borrow_io() };
+            let io = unsafe { unsafe_borrow_io() };
             let mut listener = unsafe { (*io).tcp_bind(addr).unwrap() };
             let mut stream = listener.accept().unwrap();
             let mut buf = [0, .. 2048];
@@ -439,7 +440,7 @@ fn test_read_and_block() {
 
         do spawntask_immediately {
             unsafe {
-                let io = local_sched::unsafe_borrow_io();
+                let io = unsafe_borrow_io();
                 let mut stream = (*io).tcp_connect(addr).unwrap();
                 stream.write([0, 1, 2, 3, 4, 5, 6, 7]);
                 stream.write([0, 1, 2, 3, 4, 5, 6, 7]);
@@ -459,7 +460,7 @@ fn test_read_read_read() {
 
         do spawntask_immediately {
             unsafe {
-                let io = local_sched::unsafe_borrow_io();
+                let io = unsafe_borrow_io();
                 let mut listener = (*io).tcp_bind(addr).unwrap();
                 let mut stream = listener.accept().unwrap();
                 let buf = [1, .. 2048];
@@ -473,7 +474,7 @@ fn test_read_read_read() {
 
         do spawntask_immediately {
             unsafe {
-                let io = local_sched::unsafe_borrow_io();
+                let io = unsafe_borrow_io();
                 let mut stream = (*io).tcp_connect(addr).unwrap();
                 let mut buf = [0, .. 2048];
                 let mut total_bytes_read = 0;