Use core::hint::spin_loop instead of the deprecated spin_loop_hint.

Bumps MSRV to 1.49.0
This commit is contained in:
Amanieu d'Antras
2022-01-28 13:06:24 +00:00
parent 1ca995ba99
commit fa0480d38e
4 changed files with 9 additions and 8 deletions
+2 -2
View File
@@ -16,11 +16,11 @@ jobs:
strategy:
matrix:
os: [ubuntu, macos, windows]
channel: [1.41.0, stable, beta, nightly]
channel: [1.49.0, stable, beta, nightly]
feature: [arc_lock, serde, deadlock_detection]
exclude:
- feature: deadlock_detection
channel: '1.41.0'
channel: '1.49.0'
include:
- channel: nightly
feature: nightly
+1 -1
View File
@@ -135,7 +135,7 @@ changes to the core API do not cause breaking changes for users of `parking_lot`
## Minimum Rust version
The current minimum required Rust version is 1.41. Any change to this is
The current minimum required Rust version is 1.49. Any change to this is
considered a breaking change and will require a major version bump.
## License
+2 -2
View File
@@ -6,14 +6,14 @@
// copied, modified, or distributed except according to those terms.
use crate::thread_parker;
use std::sync::atomic::spin_loop_hint;
use core::hint::spin_loop;
// Wastes some CPU time for the given number of iterations,
// using a hint to indicate to the CPU that we are spinning.
#[inline]
fn cpu_relax(iterations: u32) {
for _ in 0..iterations {
spin_loop_hint()
spin_loop()
}
}
+4 -3
View File
@@ -8,7 +8,8 @@
//! A simple spin lock based thread parker. Used on platforms without better
//! parking facilities available.
use core::sync::atomic::{spin_loop_hint, AtomicBool, Ordering};
use core::sync::atomic::{AtomicBool, Ordering};
use core::hint::spin_loop;
use std::thread;
use std::time::Instant;
@@ -42,7 +43,7 @@ impl super::ThreadParkerT for ThreadParker {
#[inline]
unsafe fn park(&self) {
while self.parked.load(Ordering::Acquire) != false {
spin_loop_hint();
spin_loop();
}
}
@@ -52,7 +53,7 @@ impl super::ThreadParkerT for ThreadParker {
if Instant::now() >= timeout {
return false;
}
spin_loop_hint();
spin_loop();
}
true
}