restore SIGNAL_WORK_THREAD_MODE
This commit is contained in:
parent
6e1120e17e
commit
e70ae71ecc
1 changed files with 6 additions and 1 deletions
|
@ -54,7 +54,12 @@ impl Executor {
|
||||||
loop {
|
loop {
|
||||||
unsafe {
|
unsafe {
|
||||||
self.inner.poll();
|
self.inner.poll();
|
||||||
core::arch::asm!("wfi");
|
// we do not care about race conditions between the load and store operations, interrupts
|
||||||
|
// will only set this value to true.
|
||||||
|
// if there is work to do, loop back to polling
|
||||||
|
if !SIGNAL_WORK_THREAD_MODE.fetch_and(false, Ordering::SeqCst) {
|
||||||
|
core::arch::asm!("wfi");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue