pub struct SERIAL1 { /* private fields */ }
Methods from Deref<Target = Mutex<SerialPort>>§
pub fn lock(&self) -> MutexGuard<'_, T>
pub fn lock(&self) -> MutexGuard<'_, T>
Locks the spinlock and returns a guard.
The returned value may be dereferenced for data access and the lock will be dropped when the guard falls out of scope.
let mylock = spin::Mutex::new(0);
{
let mut data = mylock.lock();
// The lock is now locked and the data can be accessed
*data += 1;
// The lock is implicitly dropped
}
pub unsafe fn force_unlock(&self)
pub unsafe fn force_unlock(&self)
Force unlock the spinlock.
This is extremely unsafe if the lock is not held by the current thread. However, this can be useful in some instances for exposing the lock to FFI that doesn’t know how to deal with RAII.
If the lock isn’t held, this is a no-op.
pub fn try_lock(&self) -> Option<MutexGuard<'_, T>>
pub fn try_lock(&self) -> Option<MutexGuard<'_, T>>
Tries to lock the mutex. If it is already locked, it will return None. Otherwise it returns a guard within Some.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SERIAL1
impl RefUnwindSafe for SERIAL1
impl Send for SERIAL1
impl Sync for SERIAL1
impl Unpin for SERIAL1
impl UnwindSafe for SERIAL1
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more