aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-executor/src/arch/avr.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/embassy-executor/src/arch/avr.rs b/embassy-executor/src/arch/avr.rs
index fa6afe762..11e81ed9a 100644
--- a/embassy-executor/src/arch/avr.rs
+++ b/embassy-executor/src/arch/avr.rs
@@ -57,10 +57,13 @@ mod thread {
57 57
58 loop { 58 loop {
59 unsafe { 59 unsafe {
60 avr_device::interrupt::disable();
60 if SIGNAL_WORK_THREAD_MODE.swap(false, Ordering::SeqCst) { 61 if SIGNAL_WORK_THREAD_MODE.swap(false, Ordering::SeqCst) {
61 self.inner.poll(); 62 avr_device::interrupt::enable();
62 } else {
63 avr_device::asm::sleep(); 63 avr_device::asm::sleep();
64 } else {
65 avr_device::interrupt::enable();
66 self.inner.poll();
64 } 67 }
65 } 68 }
66 } 69 }