Move core::task::local_data to core::local_data

This commit is contained in:
Youngsoo Son 2013-05-08 22:02:21 +09:00
parent ad8e236f32
commit c8e93edf55
15 changed files with 22 additions and 21 deletions

View File

@ -12,7 +12,7 @@
use prelude::*; use prelude::*;
use task; use task;
use task::local_data::{local_data_pop, local_data_set}; use local_data::{local_data_pop, local_data_set};
// helper for transmutation, shown below. // helper for transmutation, shown below.
type RustClosure = (int, int); type RustClosure = (int, int);
@ -24,14 +24,14 @@ pub struct Handler<T, U> {
pub struct Condition<'self, T, U> { pub struct Condition<'self, T, U> {
name: &'static str, name: &'static str,
key: task::local_data::LocalDataKey<'self, Handler<T, U>> key: local_data::LocalDataKey<'self, Handler<T, U>>
} }
pub impl<'self, T, U> Condition<'self, T, U> { pub impl<'self, T, U> Condition<'self, T, U> {
fn trap(&'self self, h: &'self fn(T) -> U) -> Trap<'self, T, U> { fn trap(&'self self, h: &'self fn(T) -> U) -> Trap<'self, T, U> {
unsafe { unsafe {
let p : *RustClosure = ::cast::transmute(&h); let p : *RustClosure = ::cast::transmute(&h);
let prev = task::local_data::local_data_get(self.key); let prev = local_data::local_data_get(self.key);
let h = @Handler { handle: *p, prev: prev }; let h = @Handler { handle: *p, prev: prev };
Trap { cond: self, handler: h } Trap { cond: self, handler: h }
} }

View File

@ -215,6 +215,7 @@ pub mod trie;
pub mod task; pub mod task;
pub mod comm; pub mod comm;
pub mod pipes; pub mod pipes;
pub mod local_data;
/* Runtime and platform support */ /* Runtime and platform support */

View File

@ -1208,7 +1208,7 @@ fn overridden_arg_key(_v: @OverriddenArgs) {}
pub fn args() -> ~[~str] { pub fn args() -> ~[~str] {
unsafe { unsafe {
match task::local_data::local_data_get(overridden_arg_key) { match local_data::local_data_get(overridden_arg_key) {
None => real_args(), None => real_args(),
Some(args) => copy args.val Some(args) => copy args.val
} }
@ -1218,7 +1218,7 @@ pub fn args() -> ~[~str] {
pub fn set_args(new_args: ~[~str]) { pub fn set_args(new_args: ~[~str]) {
unsafe { unsafe {
let overridden_args = @OverriddenArgs { val: copy new_args }; let overridden_args = @OverriddenArgs { val: copy new_args };
task::local_data::local_data_set(overridden_arg_key, overridden_args); local_data::local_data_set(overridden_arg_key, overridden_args);
} }
} }

View File

@ -81,6 +81,7 @@ pub use io;
pub use iter; pub use iter;
pub use old_iter; pub use old_iter;
pub use libc; pub use libc;
pub use local_data;
pub use num; pub use num;
pub use ops; pub use ops;
pub use option; pub use option;

View File

@ -836,13 +836,13 @@ fn tls_rng_state(_v: @@mut IsaacRng) {}
pub fn task_rng() -> @@mut IsaacRng { pub fn task_rng() -> @@mut IsaacRng {
let r : Option<@@mut IsaacRng>; let r : Option<@@mut IsaacRng>;
unsafe { unsafe {
r = task::local_data::local_data_get(tls_rng_state); r = local_data::local_data_get(tls_rng_state);
} }
match r { match r {
None => { None => {
unsafe { unsafe {
let rng = @@mut IsaacRng::new_seeded(seed()); let rng = @@mut IsaacRng::new_seeded(seed());
task::local_data::local_data_set(tls_rng_state, rng); local_data::local_data_set(tls_rng_state, rng);
rng rng
} }
} }

View File

@ -198,7 +198,7 @@ mod test {
#[test] #[test]
fn tls() { fn tls() {
use task::local_data::*; use local_data::*;
do run_in_newsched_task() { do run_in_newsched_task() {
unsafe { unsafe {
fn key(_x: @~str) { } fn key(_x: @~str) { }

View File

@ -15,7 +15,7 @@ use cmp::Eq;
use libc; use libc;
use prelude::*; use prelude::*;
use task::rt; use task::rt;
use task::local_data::LocalDataKey; use local_data::LocalDataKey;
use super::rt::rust_task; use super::rt::rust_task;
use rt::local_services::LocalStorage; use rt::local_services::LocalStorage;

View File

@ -47,7 +47,6 @@ use unstable::finally::Finally;
#[cfg(test)] use comm::SharedChan; #[cfg(test)] use comm::SharedChan;
mod local_data_priv; mod local_data_priv;
pub mod local_data;
pub mod rt; pub mod rt;
pub mod spawn; pub mod spawn;

View File

@ -14,7 +14,7 @@ use astsrv;
use doc::ItemUtils; use doc::ItemUtils;
use doc; use doc;
use core::task::local_data::local_data_get; use core::local_data::local_data_get;
use syntax::ast; use syntax::ast;
use syntax; use syntax;

View File

@ -69,11 +69,11 @@ fn complete_key(_v: @CompletionCb) {}
/// Bind to the main completion callback /// Bind to the main completion callback
pub unsafe fn complete(cb: CompletionCb) { pub unsafe fn complete(cb: CompletionCb) {
task::local_data::local_data_set(complete_key, @(cb)); local_data::local_data_set(complete_key, @(cb));
extern fn callback(line: *c_char, completions: *()) { extern fn callback(line: *c_char, completions: *()) {
unsafe { unsafe {
let cb = *task::local_data::local_data_get(complete_key) let cb = *local_data::local_data_get(complete_key)
.get(); .get();
do cb(str::raw::from_c_str(line)) |suggestion| { do cb(str::raw::from_c_str(line)) |suggestion| {

View File

@ -1211,11 +1211,11 @@ mod big_tests {
#[unsafe_destructor] #[unsafe_destructor]
impl<'self> Drop for LVal<'self> { impl<'self> Drop for LVal<'self> {
fn finalize(&self) { fn finalize(&self) {
let x = unsafe { task::local_data::local_data_get(self.key) }; let x = unsafe { local_data::local_data_get(self.key) };
match x { match x {
Some(@y) => { Some(@y) => {
unsafe { unsafe {
task::local_data::local_data_set(self.key, @(y+1)); local_data::local_data_set(self.key, @(y+1));
} }
} }
_ => fail!(~"Expected key to work"), _ => fail!(~"Expected key to work"),

View File

@ -1202,11 +1202,11 @@ mod big_tests {
#[unsafe_destructor] #[unsafe_destructor]
impl<'self> Drop for LVal<'self> { impl<'self> Drop for LVal<'self> {
fn finalize(&self) { fn finalize(&self) {
let x = unsafe { task::local_data::local_data_get(self.key) }; let x = unsafe { local_data::local_data_get(self.key) };
match x { match x {
Some(@y) => { Some(@y) => {
unsafe { unsafe {
task::local_data::local_data_set(self.key, @(y+1)); local_data::local_data_set(self.key, @(y+1));
} }
} }
_ => fail!(~"Expected key to work"), _ => fail!(~"Expected key to work"),

View File

@ -74,7 +74,7 @@ impl<S:Encoder> Encodable<S> for ident {
fn encode(&self, s: &mut S) { fn encode(&self, s: &mut S) {
unsafe { unsafe {
let intr = let intr =
match task::local_data::local_data_get(interner_key!()) { match local_data::local_data_get(interner_key!()) {
None => fail!(~"encode: TLS interner not set up"), None => fail!(~"encode: TLS interner not set up"),
Some(intr) => intr Some(intr) => intr
}; };
@ -87,7 +87,7 @@ impl<S:Encoder> Encodable<S> for ident {
impl<D:Decoder> Decodable<D> for ident { impl<D:Decoder> Decodable<D> for ident {
fn decode(d: &mut D) -> ident { fn decode(d: &mut D) -> ident {
let intr = match unsafe { let intr = match unsafe {
task::local_data::local_data_get(interner_key!()) local_data::local_data_get(interner_key!())
} { } {
None => fail!(~"decode: TLS interner not set up"), None => fail!(~"decode: TLS interner not set up"),
Some(intr) => intr Some(intr) => intr

View File

@ -462,7 +462,7 @@ pub fn mk_fresh_ident_interner() -> @ident_interner {
interner: interner::Interner::prefill(init_vec) interner: interner::Interner::prefill(init_vec)
}; };
unsafe { unsafe {
task::local_data::local_data_set(interner_key!(), @rv); local_data::local_data_set(interner_key!(), @rv);
} }
rv rv
} }
@ -471,7 +471,7 @@ pub fn mk_fresh_ident_interner() -> @ident_interner {
// fresh one. // fresh one.
pub fn mk_ident_interner() -> @ident_interner { pub fn mk_ident_interner() -> @ident_interner {
unsafe { unsafe {
match task::local_data::local_data_get(interner_key!()) { match local_data::local_data_get(interner_key!()) {
Some(interner) => *interner, Some(interner) => *interner,
None => { None => {
mk_fresh_ident_interner() mk_fresh_ident_interner()