We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 335c8c2 + f434bf6 commit 549e951Copy full SHA for 549e951
cortex-m/src/critical_section.rs
@@ -9,13 +9,16 @@ set_impl!(SingleCoreCriticalSection);
9
unsafe impl Impl for SingleCoreCriticalSection {
10
unsafe fn acquire() -> RawRestoreState {
11
let was_active = primask::read().is_active();
12
+ // NOTE: Fence guarantees are provided by interrupt::disable(), which performs a `compiler_fence(SeqCst)`.
13
interrupt::disable();
14
was_active
15
}
16
17
unsafe fn release(was_active: RawRestoreState) {
18
// Only re-enable interrupts if they were enabled before the critical section.
19
if was_active {
20
+ // NOTE: Fence guarantees are provided by interrupt::enable(), which performs a
21
+ // `compiler_fence(SeqCst)`.
22
interrupt::enable()
23
24
0 commit comments