]> git.lizzy.rs Git - rust.git/blob - src/libsync/lib.rs
d166076e96e15044ebf415d87196975b13b408fc
[rust.git] / src / libsync / lib.rs
1 // Copyright 2012-2013 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 /*!
12  * Concurrency-enabled mechanisms and primitives.
13  */
14
15 #[crate_id = "sync#0.10-pre"];
16 #[crate_type = "rlib"];
17 #[crate_type = "dylib"];
18 #[license = "MIT/ASL2"];
19 #[doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
20       html_favicon_url = "http://www.rust-lang.org/favicon.ico",
21       html_root_url = "http://static.rust-lang.org/doc/master")];
22 #[feature(phase)];
23 #[deny(missing_doc, deprecated_owned_vector)];
24
25 #[cfg(test)]
26 #[phase(syntax, link)] extern crate log;
27
28 pub use comm::{DuplexStream, SyncSender, SyncReceiver, rendezvous, duplex};
29 pub use task_pool::TaskPool;
30 pub use future::Future;
31 pub use arc::{Arc, Weak};
32 pub use lock::{Mutex, MutexGuard, Condvar, Barrier,
33                RWLock, RWLockReadGuard, RWLockWriteGuard};
34
35 // The mutex/rwlock in this module are not meant for reexport
36 pub use raw::{Semaphore, SemaphoreGuard};
37
38 mod arc;
39 mod comm;
40 mod future;
41 mod lock;
42 mod mpsc_intrusive;
43 mod task_pool;
44
45 pub mod raw;
46 pub mod mutex;
47 pub mod one;