add Mutex::unlock
This commit is contained in:
parent
3f5aee2d52
commit
e92e5fd787
@ -219,6 +219,26 @@ impl<T> Mutex<T> {
|
||||
data: UnsafeCell::new(t),
|
||||
}
|
||||
}
|
||||
|
||||
/// Immediately drops the guard, and consequently unlocks the mutex.
|
||||
///
|
||||
/// This function is equivalent to calling [`drop`] on the guard but is more self-documenting.
|
||||
/// Alternately, the guard will be automatically dropped when it goes out of scope.
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(mutex_unlock)]
|
||||
///
|
||||
/// use std::sync::Mutex;
|
||||
/// let mutex = Mutex::new(0);
|
||||
///
|
||||
/// let mut guard = mutex.lock().unwrap();
|
||||
/// *guard += 20;
|
||||
/// Mutex::unlock(guard);
|
||||
/// ```
|
||||
#[unstable(feature = "mutex_unlock", issue = "81872")]
|
||||
pub fn unlock(guard: MutexGuard<'_, T>) {
|
||||
drop(guard);
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: ?Sized> Mutex<T> {
|
||||
|
Loading…
Reference in New Issue
Block a user