kopia lustrzana https://github.com/micropython/micropython-lib
asyncio: Make run_forever() actually run forever.
rodzic
25bcef1b0d
commit
e2403bde0a
|
@ -39,13 +39,17 @@ class EventLoop:
|
||||||
time.sleep(delay)
|
time.sleep(delay)
|
||||||
|
|
||||||
def run_forever(self):
|
def run_forever(self):
|
||||||
while self.q:
|
while True:
|
||||||
# t, cnt, cb, args = self.q.pop(0)
|
if self.q:
|
||||||
t, cnt, cb, args = heapq.heappop(self.q)
|
t, cnt, cb, args = heapq.heappop(self.q)
|
||||||
tnow = self.time()
|
tnow = self.time()
|
||||||
delay = t - tnow
|
delay = t - tnow
|
||||||
if delay > 0:
|
if delay > 0:
|
||||||
self.wait(delay)
|
self.wait(delay)
|
||||||
|
else:
|
||||||
|
self.wait(-1)
|
||||||
|
# Assuming IO completion scheduled some tasks
|
||||||
|
continue
|
||||||
if callable(cb):
|
if callable(cb):
|
||||||
cb(*args)
|
cb(*args)
|
||||||
else:
|
else:
|
||||||
|
|
Ładowanie…
Reference in New Issue