[−][src]Struct sunrise_kernel::devices::pit::PIT_PORTS
The mutex wrapping the ports
Fields
__private_field: ()
Methods from Deref<Target = SpinLock<PITPorts>>
pub fn lock(&self) -> SpinLockGuard<T>
[src]
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.
Panics if called in an interrupt context.
let mylock = crate::sync::SpinLock::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)
[src]
Force unlock the spinlock. If the lock isn't held, this is a no-op.
Safety
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.
pub fn try_lock(&self) -> Option<SpinLockGuard<T>>
[src]
Tries to lock the spinlock. If it is already locked, it will return None. Otherwise it returns a guard within Some.
Trait Implementations
impl Deref for PIT_PORTS
[src]
type Target = SpinLock<PITPorts>
The resulting type after dereferencing.
fn deref(&self) -> &SpinLock<PITPorts>
[src]
impl LazyStatic for PIT_PORTS
[src]
fn initialize(lazy: &Self)
[src]
Auto Trait Implementations
impl RefUnwindSafe for PIT_PORTS
impl Send for PIT_PORTS
impl Sync for PIT_PORTS
impl Unpin for PIT_PORTS
impl UnwindSafe for PIT_PORTS
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,