Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
32
third-party/vendor/loom/tests/rwlock_regression1.rs
vendored
Normal file
32
third-party/vendor/loom/tests/rwlock_regression1.rs
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
use loom::{
|
||||
sync::{
|
||||
atomic::{AtomicUsize, Ordering},
|
||||
Arc, RwLock,
|
||||
},
|
||||
thread,
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn rwlock_two_writers() {
|
||||
loom::model(|| {
|
||||
let lock = Arc::new(RwLock::new(1));
|
||||
let c_lock = lock.clone();
|
||||
let c_lock2 = lock;
|
||||
|
||||
let atomic = Arc::new(AtomicUsize::new(0));
|
||||
let c_atomic = atomic.clone();
|
||||
let c_atomic2 = atomic;
|
||||
|
||||
thread::spawn(move || {
|
||||
let mut w = c_lock.write().unwrap();
|
||||
*w += 1;
|
||||
c_atomic.fetch_add(1, Ordering::Relaxed);
|
||||
});
|
||||
|
||||
thread::spawn(move || {
|
||||
let mut w = c_lock2.write().unwrap();
|
||||
*w += 1;
|
||||
c_atomic2.fetch_add(1, Ordering::Relaxed);
|
||||
});
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue