diff options
| author | Mara Bos <m-ou.se@m-ou.se> | 2022-03-17 12:29:07 +0100 |
|---|---|---|
| committer | Mara Bos <m-ou.se@m-ou.se> | 2022-03-23 14:58:44 +0100 |
| commit | 7f26adeac19f78f0277637d1e798439d8f89b853 (patch) | |
| tree | 697bbce1e056a1734cbb271f44622a7c0e44dc02 /library/std/src/sys/unix/locks/mod.rs | |
| parent | 73d63488e4a23de46a6312525ccb7b4d04a7c55f (diff) | |
| download | rust-7f26adeac19f78f0277637d1e798439d8f89b853.tar.gz rust-7f26adeac19f78f0277637d1e798439d8f89b853.zip | |
Replace Linux Mutex and Condvar with futex based ones.
Diffstat (limited to 'library/std/src/sys/unix/locks/mod.rs')
| -rw-r--r-- | library/std/src/sys/unix/locks/mod.rs | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/library/std/src/sys/unix/locks/mod.rs b/library/std/src/sys/unix/locks/mod.rs index f07a9f93b79..30e9f407eec 100644 --- a/library/std/src/sys/unix/locks/mod.rs +++ b/library/std/src/sys/unix/locks/mod.rs @@ -1,8 +1,24 @@ -mod pthread_condvar; -mod pthread_mutex; -mod pthread_remutex; -mod pthread_rwlock; -pub use pthread_condvar::{Condvar, MovableCondvar}; -pub use pthread_mutex::{MovableMutex, Mutex}; -pub use pthread_remutex::ReentrantMutex; -pub use pthread_rwlock::{MovableRWLock, RWLock}; +cfg_if::cfg_if! { + if #[cfg(any( + target_os = "linux", + target_os = "android", + ))] { + mod futex; + #[allow(dead_code)] + mod pthread_mutex; // Only used for PthreadMutexAttr, needed by pthread_remutex. + mod pthread_remutex; // FIXME: Implement this using a futex + mod pthread_rwlock; // FIXME: Implement this using a futex + pub use futex::{Mutex, MovableMutex, Condvar, MovableCondvar}; + pub use pthread_remutex::ReentrantMutex; + pub use pthread_rwlock::{RWLock, MovableRWLock}; + } else { + mod pthread_mutex; + mod pthread_remutex; + mod pthread_rwlock; + mod pthread_condvar; + pub use pthread_mutex::{Mutex, MovableMutex}; + pub use pthread_remutex::ReentrantMutex; + pub use pthread_rwlock::{RWLock, MovableRWLock}; + pub use pthread_condvar::{Condvar, MovableCondvar}; + } +} |
