Rollup merge of #127447 - RalfJung:once_lock_miri, r=joboet · model-checking/verify-rust-std@35c5a45

Original file line numberDiff line numberDiff line change

@@ -80,14 +80,21 @@ use crate::sync::Once;

8080

/// static LIST: OnceList<u32> = OnceList::new();

8181

/// static COUNTER: AtomicU32 = AtomicU32::new(0);

8282

///

83-

/// let vec = (0..thread::available_parallelism().unwrap().get()).map(|_| thread::spawn(|| {

84-

/// while let i @ 0..=1000 = COUNTER.fetch_add(1, Ordering::Relaxed) {

85-

/// LIST.push(i);

83+

/// # const LEN: u32 = if cfg!(miri) { 50 } else { 1000 };

84+

/// # /*

85+

/// const LEN: u32 = 1000;

86+

/// # */

87+

/// thread::scope(|s| {

88+

/// for _ in 0..thread::available_parallelism().unwrap().get() {

89+

/// s.spawn(|| {

90+

/// while let i @ 0..LEN = COUNTER.fetch_add(1, Ordering::Relaxed) {

91+

/// LIST.push(i);

92+

/// }

93+

/// });

8694

/// }

87-

/// })).collect::<Vec<thread::JoinHandle<_>>>();

88-

/// vec.into_iter().for_each(|handle| handle.join().unwrap());

95+

/// });

8996

///

90-

/// for i in 0..=1000 {

97+

/// for i in 0..LEN {

9198

/// assert!(LIST.contains(&i));

9299

/// }

93100

///