Skip to content

Commit 8c60dbc

Browse files
committed
Move std::sys::{mutex, condvar, rwlock} to std::sys::locks.
1 parent 9ab9201 commit 8c60dbc

File tree

21 files changed

+64
-40
lines changed

21 files changed

+64
-40
lines changed

std/src/sys/hermit/condvar.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::ffi::c_void;
22
use crate::ptr;
33
use crate::sync::atomic::{AtomicUsize, Ordering::SeqCst};
44
use crate::sys::hermit::abi;
5-
use crate::sys::mutex::Mutex;
5+
use crate::sys::locks::Mutex;
66
use crate::time::Duration;
77

88
// The implementation is inspired by Andrew D. Birrell's paper

std/src/sys/hermit/mod.rs

+10-3
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,12 @@ pub mod alloc;
2222
pub mod args;
2323
#[path = "../unix/cmath.rs"]
2424
pub mod cmath;
25-
pub mod condvar;
2625
pub mod env;
2726
pub mod fd;
2827
pub mod fs;
2928
#[path = "../unsupported/io.rs"]
3029
pub mod io;
3130
pub mod memchr;
32-
pub mod mutex;
3331
pub mod net;
3432
pub mod os;
3533
#[path = "../unix/os_str.rs"]
@@ -40,14 +38,23 @@ pub mod path;
4038
pub mod pipe;
4139
#[path = "../unsupported/process.rs"]
4240
pub mod process;
43-
pub mod rwlock;
4441
pub mod stdio;
4542
pub mod thread;
4643
pub mod thread_local_dtor;
4744
#[path = "../unsupported/thread_local_key.rs"]
4845
pub mod thread_local_key;
4946
pub mod time;
5047

48+
mod condvar;
49+
mod mutex;
50+
mod rwlock;
51+
52+
pub mod locks {
53+
pub use super::condvar::*;
54+
pub use super::mutex::*;
55+
pub use super::rwlock::*;
56+
}
57+
5158
use crate::io::ErrorKind;
5259

5360
#[allow(unused_extern_crates)]

std/src/sys/hermit/rwlock.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use crate::cell::UnsafeCell;
2-
use crate::sys::condvar::Condvar;
3-
use crate::sys::mutex::Mutex;
2+
use crate::sys::locks::{Condvar, Mutex};
43

54
pub struct RWLock {
65
lock: Mutex,

std/src/sys/itron/condvar.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//! POSIX conditional variable implementation based on user-space wait queues.
22
use super::{abi, error::expect_success_aborting, spin::SpinMutex, task, time::with_tmos_strong};
3-
use crate::{mem::replace, ptr::NonNull, sys::mutex::Mutex, time::Duration};
3+
use crate::{mem::replace, ptr::NonNull, sys::locks::Mutex, time::Duration};
44

55
// The implementation is inspired by the queue-based implementation shown in
66
// Andrew D. Birrell's paper "Implementing Condition Variables with Semaphores"

std/src/sys/sgx/condvar.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::sys::mutex::Mutex;
1+
use crate::sys::locks::Mutex;
22
use crate::time::Duration;
33

44
use super::waitqueue::{SpinMutex, WaitQueue, WaitVariable};

std/src/sys/sgx/mod.rs

+10-3
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,13 @@ pub mod alloc;
1515
pub mod args;
1616
#[path = "../unix/cmath.rs"]
1717
pub mod cmath;
18-
pub mod condvar;
1918
pub mod env;
2019
pub mod fd;
2120
#[path = "../unsupported/fs.rs"]
2221
pub mod fs;
2322
#[path = "../unsupported/io.rs"]
2423
pub mod io;
2524
pub mod memchr;
26-
pub mod mutex;
2725
pub mod net;
2826
pub mod os;
2927
#[path = "../unix/os_str.rs"]
@@ -33,12 +31,21 @@ pub mod path;
3331
pub mod pipe;
3432
#[path = "../unsupported/process.rs"]
3533
pub mod process;
36-
pub mod rwlock;
3734
pub mod stdio;
3835
pub mod thread;
3936
pub mod thread_local_key;
4037
pub mod time;
4138

39+
mod condvar;
40+
mod mutex;
41+
mod rwlock;
42+
43+
pub mod locks {
44+
pub use super::condvar::*;
45+
pub use super::mutex::*;
46+
pub use super::rwlock::*;
47+
}
48+
4249
// SAFETY: must be called only once during runtime initialization.
4350
// NOTE: this is not guaranteed to run, for example when Rust code is called externally.
4451
pub unsafe fn init(argc: isize, argv: *const *const u8) {

std/src/sys/solid/mod.rs

+9-2
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,21 @@ pub mod path;
3737
pub mod pipe;
3838
#[path = "../unsupported/process.rs"]
3939
pub mod process;
40-
pub mod rwlock;
4140
pub mod stdio;
42-
pub use self::itron::{condvar, mutex, thread};
41+
pub use self::itron::thread;
4342
pub mod memchr;
4443
pub mod thread_local_dtor;
4544
pub mod thread_local_key;
4645
pub mod time;
4746

47+
mod rwlock;
48+
49+
pub mod locks {
50+
pub use super::itron::condvar::*;
51+
pub use super::itron::mutex::*;
52+
pub use super::rwlock::*;
53+
}
54+
4855
// SAFETY: must be called only once during runtime initialization.
4956
// NOTE: this is not guaranteed to run, for example when Rust code is called externally.
5057
pub unsafe fn init(_argc: isize, _argv: *const *const u8) {}

std/src/sys/unsupported/condvar.rs renamed to std/src/sys/unsupported/locks/condvar.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::sys::mutex::Mutex;
1+
use crate::sys::locks::Mutex;
22
use crate::time::Duration;
33

44
pub struct Condvar {}

std/src/sys/unsupported/locks/mod.rs

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
mod condvar;
2+
mod mutex;
3+
mod rwlock;
4+
pub use condvar::{Condvar, MovableCondvar};
5+
pub use mutex::{MovableMutex, Mutex, ReentrantMutex};
6+
pub use rwlock::{MovableRWLock, RWLock};

std/src/sys/unsupported/mod.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ pub mod alloc;
44
pub mod args;
55
#[path = "../unix/cmath.rs"]
66
pub mod cmath;
7-
pub mod condvar;
87
pub mod env;
98
pub mod fs;
109
pub mod io;
11-
pub mod mutex;
10+
pub mod locks;
1211
pub mod net;
1312
pub mod os;
1413
#[path = "../unix/os_str.rs"]
@@ -17,7 +16,6 @@ pub mod os_str;
1716
pub mod path;
1817
pub mod pipe;
1918
pub mod process;
20-
pub mod rwlock;
2119
pub mod stdio;
2220
pub mod thread;
2321
#[cfg(target_thread_local)]

std/src/sys/wasi/mod.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,12 @@ pub mod alloc;
2222
pub mod args;
2323
#[path = "../unix/cmath.rs"]
2424
pub mod cmath;
25-
#[path = "../unsupported/condvar.rs"]
26-
pub mod condvar;
2725
pub mod env;
2826
pub mod fd;
2927
pub mod fs;
3028
pub mod io;
31-
#[path = "../unsupported/mutex.rs"]
32-
pub mod mutex;
29+
#[path = "../unsupported/locks/mod.rs"]
30+
pub mod locks;
3331
pub mod net;
3432
pub mod os;
3533
#[path = "../unix/os_str.rs"]
@@ -40,8 +38,6 @@ pub mod path;
4038
pub mod pipe;
4139
#[path = "../unsupported/process.rs"]
4240
pub mod process;
43-
#[path = "../unsupported/rwlock.rs"]
44-
pub mod rwlock;
4541
pub mod stdio;
4642
pub mod thread;
4743
#[path = "../unsupported/thread_local_dtor.rs"]

std/src/sys/wasm/atomics/condvar.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::arch::wasm32;
22
use crate::cmp;
33
use crate::mem;
44
use crate::sync::atomic::{AtomicUsize, Ordering::SeqCst};
5-
use crate::sys::mutex::Mutex;
5+
use crate::sys::locks::Mutex;
66
use crate::time::Duration;
77

88
pub struct Condvar {

std/src/sys/wasm/atomics/rwlock.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use crate::cell::UnsafeCell;
2-
use crate::sys::condvar::Condvar;
3-
use crate::sys::mutex::Mutex;
2+
use crate::sys::locks::{Condvar, Mutex};
43

54
pub struct RWLock {
65
lock: Mutex,

std/src/sys/wasm/mod.rs

+10-9
Original file line numberDiff line numberDiff line change
@@ -50,22 +50,23 @@ pub mod time;
5050
cfg_if::cfg_if! {
5151
if #[cfg(target_feature = "atomics")] {
5252
#[path = "atomics/condvar.rs"]
53-
pub mod condvar;
53+
mod condvar;
5454
#[path = "atomics/mutex.rs"]
55-
pub mod mutex;
55+
mod mutex;
5656
#[path = "atomics/rwlock.rs"]
57-
pub mod rwlock;
57+
mod rwlock;
58+
pub mod locks {
59+
pub use super::condvar::*;
60+
pub use super::mutex::*;
61+
pub use super::rwlock::*;
62+
}
5863
#[path = "atomics/futex.rs"]
5964
pub mod futex;
6065
#[path = "atomics/thread.rs"]
6166
pub mod thread;
6267
} else {
63-
#[path = "../unsupported/condvar.rs"]
64-
pub mod condvar;
65-
#[path = "../unsupported/mutex.rs"]
66-
pub mod mutex;
67-
#[path = "../unsupported/rwlock.rs"]
68-
pub mod rwlock;
68+
#[path = "../unsupported/locks/mod.rs"]
69+
pub mod locks;
6970
#[path = "../unsupported/thread.rs"]
7071
pub mod thread;
7172
}

std/src/sys/windows/condvar.rs renamed to std/src/sys/windows/locks/condvar.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::cell::UnsafeCell;
22
use crate::sys::c;
3-
use crate::sys::mutex::{self, Mutex};
3+
use crate::sys::locks::{mutex, Mutex};
44
use crate::sys::os;
55
use crate::time::Duration;
66

@@ -31,7 +31,7 @@ impl Condvar {
3131
let r = c::SleepConditionVariableSRW(
3232
self.inner.get(),
3333
mutex::raw(mutex),
34-
super::dur2timeout(dur),
34+
crate::sys::windows::dur2timeout(dur),
3535
0,
3636
);
3737
if r == 0 {

std/src/sys/windows/locks/mod.rs

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
mod condvar;
2+
mod mutex;
3+
mod rwlock;
4+
pub use condvar::{Condvar, MovableCondvar};
5+
pub use mutex::{MovableMutex, Mutex, ReentrantMutex};
6+
pub use rwlock::{MovableRWLock, RWLock};
File renamed without changes.
File renamed without changes.

std/src/sys/windows/mod.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,19 @@ pub mod alloc;
1616
pub mod args;
1717
pub mod c;
1818
pub mod cmath;
19-
pub mod condvar;
2019
pub mod env;
2120
pub mod fs;
2221
pub mod handle;
2322
pub mod io;
23+
pub mod locks;
2424
pub mod memchr;
25-
pub mod mutex;
2625
pub mod net;
2726
pub mod os;
2827
pub mod os_str;
2928
pub mod path;
3029
pub mod pipe;
3130
pub mod process;
3231
pub mod rand;
33-
pub mod rwlock;
3432
pub mod thread;
3533
pub mod thread_local_dtor;
3634
pub mod thread_local_key;

0 commit comments

Comments
 (0)