aboutsummaryrefslogtreecommitdiffstats
path: root/src/cs/cortex.rs
blob: cc97a12ded9d55f32b81e3754e844dbf4fc5405d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use super::CriticalSection;

use cortex_m::interrupt;

pub struct Locker {}

impl Locker {
    pub const fn new() -> Self {
        Self {}
    }
}

impl CriticalSection for Locker {
    fn with_lock<F, R>(&self, f: F) -> R
    where
        F: FnOnce() -> R,
    {
        interrupt::free(|_cs| f())
    }
}