clarify (and improve) how WAIT works

This commit is contained in:
Neil Webber 2024-05-23 18:13:38 -05:00
parent 6182fafe06
commit dbe374b4bf

View file

@ -146,11 +146,10 @@ class InterruptManager:
return InterruptTrap(irq.pri, irq.vector)
def waitstate(self, processor_pri):
"""Sit idle until any interrupt happens."""
"""Sit idle until an interrupt of sufficient priority happens."""
with self.condition:
if self.pri_pending > processor_pri:
return
self.condition.wait_for(lambda: self.pri_pending)
while self.pri_pending <= processor_pri:
self.condition.wait()
if __name__ == "__main__":