Revert "trezor/loop: optimization"

This reverts commit cfa1705a88.

In MicroPython, list.clear() does not memset the backing buffer, preventing the
paused tasks from being garbage collected.
pull/25/head
Jan Pochyla 7 years ago
parent cfa1705a88
commit c254758c83

@ -53,7 +53,7 @@ def unschedule(task):
def pause(task, iface):
tasks = _paused.get(iface)
tasks = _paused.get(iface, None)
if tasks is None:
tasks = _paused[iface] = []
tasks.append(task)
@ -94,11 +94,9 @@ def run():
if io.poll(_paused, msg_entry, delay):
# message received, run tasks paused on the interface
msg_tasks = _paused.get(msg_entry[0])
if msg_tasks is not None:
for task in msg_tasks:
_step(task, msg_entry[1])
msg_tasks.clear()
msg_tasks = _paused.pop(msg_entry[0], ())
for task in msg_tasks:
_step(task, msg_entry[1])
else:
# timeout occurred, run the first scheduled task
if _queue:

Loading…
Cancel
Save